Thesis marco de_marco

94
Universit ` a degli studi di Trieste Dipartimento di Ingegneria ed Architettura Valutazione comparativa sperimentale di algoritmi di rilevazione volti per applicazione di assistenza ai non vedenti Corso di Laurea in Ingegneria Informatica Tesi di Laurea Specialistica Laureando: Marco De Marco Relatore: Prof. Eric Medvet Anno Accademico 2014/2015

Transcript of Thesis marco de_marco

Page 1: Thesis marco de_marco

Universita degli studi di Trieste

Dipartimento di Ingegneria ed Architettura

Valutazione comparativa sperimentale di

algoritmi di rilevazione volti per

applicazione di assistenza ai non vedenti

Corso di Laurea in Ingegneria Informatica

Tesi di Laurea Specialistica

Laureando:Marco De Marco

Relatore:Prof. Eric Medvet

Anno Accademico 2014/2015

Page 2: Thesis marco de_marco

ii

Page 3: Thesis marco de_marco

iii

Per aspera ad astra.

Page 4: Thesis marco de_marco

iv

Page 5: Thesis marco de_marco

v

Sommario

L’universita di Trieste, con l’ausilio di una donazione di un soggetto pri-vato, ha finanziato un progetto di ricerca, il cui scopo e’ sviluppare un dispo-sitivo portatile, basato su tecniche di rilevamento e riconoscimento facciale,che aiuti soggetti non vedenti o ipovedenti, nelle loro iterazioni sociali.

Il lavoro realizzato in questa tesi, non e da intendersi, ne come un studioa sestante, ne come il passo conclusivo del progetto di ricerca, ma come unulteriore sviluppo verso la realizzazione di un prototipo funzionante.

Nella prima fase ci si e concentrati sull’individuazione di tecniche e al-goritmi di rilevamento facciale, da applicare a flussi video provenienti dadispositivi indossabili e tenendo conto del particolare contesto applicativo,in cui gli utenti non hanno la possibilita influire nella qualita dei video daessi prodotti. Partendo da queste considerazioni e da quanto svolto nelle fasiprecedenti del progetto, si e completata l’etichettatura di un dataset com-posto da quattro video. Per rendere i test piu attinenti possibili alla realta,i video realizzati sono conformi con le condizioni che il dispositivo finalesi troverebbe ad affrontare, come le distorsioni provenienti da lenti gran-dangolari, pessime condizioni di luminosita, sfocatura e repentini cambi diinquadratura, dovuta al movimento del corpo dell’utente.

Nella seconda fase, si e svolto il confronto tra le performance dei varialgoritmi selezionati sul dataset di test, paragonando la qualita dei risultatiottenuti, tramite l’utilizzo di indici statistici specifici per il campo applicati-vo. Per realizzare tale compito, dove possibile, sono stati integrati i detectordirettamente all’interno del framework di test sviluppato nelle fasi antece-denti a questa tesi. Negli altri casi in cui questo non e stato possibile a causadi limitazioni di licenza o incompatibilita software, si e scelto di produrredei detector stand alone che fornissero i risultati in un formato standard, daimportare in seguito nel framework di test.

Il passo successivo, e consistito nell’analisi dei parametri degli algoritmi,al fine di identificare dei parametro di sensibilita in ingresso, oppure di con-fidenza in uscita, necessario per tracciare le curve Receiver Operating Cha-racteristic - (ROC). Tali curve permettono di determinare il punto di lavoroottimo dell’algoritmo per cui sono state disegnate. Purtroppo solamente duedegli algoritmi presi in esame avevano a disposizione tali parametri.

Nel passo conclusivo e stata elaborata un’analisi che non solo tenesseconto dei risultati precedentemente ottenuti, ma che cercasse di correlareil valore degli indici statistici al contenuto informativo dei video rilevanteper il nostro scopo. Sono state individuate delle feature che descrivessero laposizione, la dimensione e la luminosita delle facce rispetto frame, ed alcunecaratteristiche peculiari come rotazione ed eventuali occlusioni della faccia.

Page 6: Thesis marco de_marco

vi

Page 7: Thesis marco de_marco

vii

Ringraziamenti

Desidero ringraziare prima di tutto il Relatore di questa tesi e gli altriDocenti del dipartimento di Ingegneria ed Architettura dell’Universita degliStudi di Trieste con cui ho collaborato durante lo svolgimento di questatesi, per il loro impegno, per i preziosi consigli, ma anche per la pazienza ecomprensione dimostrata nei miei confronti.

Un sentito ringraziamento anche a mio Padre, che con il suo incrollabilesostegno ed ai suoi incoraggiamenti, ha reso possibile il raggiungimento diquesto importante traguardo.

Un ultimo ringraziamento anche ai miei amici, per essermi stati semprevicini e non avermi mai fatto mancare la loro amicizia.

Un sincero grazie, a tutti voi.

Page 8: Thesis marco de_marco

viii

Page 9: Thesis marco de_marco

Indice

1 Introduzione 1

2 Dataset video sperimentale 7

2.1 Videocamere impiegate . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Videocamera Polaroid CUBE . . . . . . . . . . . . . . 7

2.1.2 Videocamera SportXtreme OverLook Gx-9 . . . . . . . 8

2.2 Video scelti per il dataset . . . . . . . . . . . . . . . . . . . . 8

2.2.1 Caratteristiche dei video . . . . . . . . . . . . . . . . . 9

2.2.2 Analisi luminanza dei video . . . . . . . . . . . . . . . 9

2.3 Criteri di etichettatura della ground truth . . . . . . . . . . . 12

2.4 Feature per la caratterizzazione del dataset . . . . . . . . . . 15

2.4.1 Descrizione delle feature . . . . . . . . . . . . . . . . . 16

2.4.2 Distribuzione delle feature . . . . . . . . . . . . . . . . 16

3 Descrizione detector 23

3.1 Viola Jones - (VJ) . . . . . . . . . . . . . . . . . . . . . . . . 23

3.1.1 Integral Image . . . . . . . . . . . . . . . . . . . . . . 24

3.1.2 Ada Boost . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.1.3 Attentional Cascade . . . . . . . . . . . . . . . . . . . 27

3.2 Google Mobile Service Vision - (GMS) . . . . . . . . . . . . . 28

3.3 Normalized Pixel Difference - (NPD) . . . . . . . . . . . . . . 30

3.4 Pixel Intensity Comparison - (PICO) . . . . . . . . . . . . . . 33

3.5 Face Id - (Face-Id) . . . . . . . . . . . . . . . . . . . . . . . . 35

3.6 Visage SDK - (Visage) . . . . . . . . . . . . . . . . . . . . . . 36

4 Confronto detector 39

4.1 Il problema della classificazione binaria . . . . . . . . . . . . . 39

4.2 Protocollo di analisi . . . . . . . . . . . . . . . . . . . . . . . 41

4.3 Risultati e discussioni . . . . . . . . . . . . . . . . . . . . . . 43

4.4 Curve (ROC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5 Conclusioni e sviluppi futuri 55

Bibliografia 59

ix

Page 10: Thesis marco de_marco

x INDICE

Configurazioni sperimentali dei detector 61.1 Parametri Viola Jones . . . . . . . . . . . . . . . . . . . . . . 61.2 Parametri Normalized Pixel Difference . . . . . . . . . . . . . 61.3 Parametri Pixel Intensity Comparison . . . . . . . . . . . . . 61.4 Parametri Google Mobile Service Vision . . . . . . . . . . . . 62.5 Parametri Visage SDK . . . . . . . . . . . . . . . . . . . . . . 62.6 Parametri Face-Id . . . . . . . . . . . . . . . . . . . . . . . . 62

Risultati sperimentali sul dataset 65.7 Valore medio di TP, FP e FN . . . . . . . . . . . . . . . . . 65.8 Soglie scelte per ogni feature . . . . . . . . . . . . . . . . . . 65.9 Valori di Precision rispetto alle soglie di ogni feature . . . . . 67.10 Valori di Recall rispetto alle soglie di ogni feature . . . . . . . 67

Page 11: Thesis marco de_marco

Elenco delle figure

2.1 Videocamera Polaroid CUBE . . . . . . . . . . . . . . . . . . 8

2.2 Videocamera SportXtreme OverLook Gx-9 . . . . . . . . . . . 8

2.3 Andamento media della luminanza dei video . . . . . . . . . . 12

2.4 Andamento deviazione standard della luminanza dei video . . 13

2.5 Intestazione di un file xml di Viper-GT . . . . . . . . . . . . 14

2.6 Raffigurazione dell’interfaccia grafica di Viper-GT . . . . . . 15

2.7 Programma Matlab per generare le statistiche . . . . . . . . . 17

2.8 Distribuzione della feature NBBA sui video del dataset . . . . 18

2.9 Distribuzione della feature NDFC sui video del dataset . . . . 18

2.10 Distribuzione della feature L/NL sui video del dataset . . . . 19

2.11 Distribuzione della feature O/NO sui video del dataset . . . . 19

2.12 Distribuzione della feature Roll sui video del dataset . . . . . 20

2.13 Distribuzione della feature RMSC sui video del dataset . . . . 20

2.14 Distribuzione della feature YDIFF (non utilizzata) sui videodel dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1 Esempi di Haar like feature usata da Viola Jones . . . . . . . 25

3.2 Rappresentazione di Integral Image usata da Viola Jones . . 25

3.3 Prima e seconda feature selezionate da Ada Boost . . . . . . . 27

3.4 Funzionamento di Attentional Cascade usata da Viola Jones 28

3.5 Esempi di facce del dataset di addestramento . . . . . . . . . 29

3.6 Esempio di funzionamento del detector VJ degli autori . . . . 29

3.7 Applicazione Android per il detector GMS . . . . . . . . . . 30

3.8 Grafico della funzione differenza normalizzata di NPD . . . . 31

3.9 Esempio di funzionamento del detector NPD degli autori . . . 33

3.10 Esempio di funzionamento del detector PICO degli autori . . 36

3.11 Esempio di funzionamento del detector Face-Id degli autori . 37

3.12 Esempio di funzionamento del detector Visage degli autori . . 37

4.1 Suddivisione del dataset da parte di un classificatore binario . 40

4.2 Rappresentazione di precision e recall . . . . . . . . . . . . . 41

4.3 Interfaccia Matlab del framework di test . . . . . . . . . . . . 43

4.4 Spazio delle curve ROC . . . . . . . . . . . . . . . . . . . . . 51

xi

Page 12: Thesis marco de_marco

xii ELENCO DELLE FIGURE

4.5 Programma Matlab per il disegno delle curve ROC . . . . . . 514.6 ROC curves for Coffee-shop video . . . . . . . . . . . . . . . . 524.7 ROC curves for Library video . . . . . . . . . . . . . . . . . . 524.8 ROC curves for Office video . . . . . . . . . . . . . . . . . . . 534.9 ROC curves for Bus-stop video . . . . . . . . . . . . . . . . . 53

Page 13: Thesis marco de_marco

Elenco delle tabelle

2.1 Corrispondenza tra nomi originali e nomi mnemonici . . . . . 92.2 Caratteristiche del video Coffee-shop . . . . . . . . . . . . . . 92.3 Caratteristiche del video Library . . . . . . . . . . . . . . . . 102.4 Caratteristiche del video Office . . . . . . . . . . . . . . . . . 102.5 Caratteristiche del video Bus-stop . . . . . . . . . . . . . . . 112.6 Caratteristiche totali del dataset . . . . . . . . . . . . . . . . 112.7 Media e deviazione standard della luminanza sul dataset . . . 12

4.1 Valori di TP, FN e FP sul dataset . . . . . . . . . . . . . . . 444.2 Valori di precision, recall e FPPF sul dataset . . . . . . . . . 464.3 Percentuale di facce sotto soglie per ogni feature . . . . . . . 474.4 Media della precision rispetto alle feature . . . . . . . . . . . 484.5 Media della recall rispetto alle feature . . . . . . . . . . . . . 49

1 Risultati detection del video Coffee-shop . . . . . . . . . . . . 662 Risultati detection del video Library . . . . . . . . . . . . . . 663 Risultati detection del video Office . . . . . . . . . . . . . . . 664 Risultati detection del video Bus-stop . . . . . . . . . . . . . 665 Soglie per le feature . . . . . . . . . . . . . . . . . . . . . . . 676 Valori di precision rispetto alla feature NBBA . . . . . . . . . 687 Valori di precision rispetto alla feature NDFC . . . . . . . . . 698 Valori di precision rispetto alla feature L/NL . . . . . . . . . 709 Valori di precision rispetto alla feature O/NO . . . . . . . . . 7110 Valori di precision rispetto alla feature Roll . . . . . . . . . . 7211 Valori di recall rispetto alla feature NBBA . . . . . . . . . . . 7312 Valori di recall rispetto alla feature NDFC . . . . . . . . . . . 7413 Valori di recall rispetto alla feature L/NL . . . . . . . . . . . 7514 Valori di recall rispetto alla feature O/NO . . . . . . . . . . . 7615 Valori di recall rispetto alla feature Roll . . . . . . . . . . . . 7716 Valori di recall rispetto alla feature YDIFF, soglia 0,5 . . . . 7817 Valori di recall rispetto alla feature YDIFF, soglia 0,1 . . . . 7918 Valori di recall rispetto alla feature RMSC . . . . . . . . . . . 80

xiii

Page 14: Thesis marco de_marco

xiv ELENCO DELLE TABELLE

Page 15: Thesis marco de_marco

Capitolo 1

Introduzione

L’organizzazione mondiale della sanita (World Healt Organization) defi-nisce la disabilita come un fenomeno complesso, che riflette l’interazione trale caratteristiche del corpo di una persona e le caratteristiche della societain cui essa vive. La disabilita quindi, non riguarda solamente la sfera dellasalute, ma copre anche tutti quei casi di limitazioni delle attivita sociali erestrizioni della partecipazione alla vita nella comunita. Per superare le dif-ficolta incontrate dalle persone con disabilita, sono richiesti interventi pereliminare le barriere ambientali e sociali.

La capacita di vedere e data per scontata da molti. L’ambiente checi circonda e ricco di segnali visivi che la maggior parte delle persone haimparato fin dall’infanzia a leggere ed interpretare per poterci destreggiarenella nostra vita quotidiana.

Tuttavia, persone affette da gravi disabilita visive o da totale cecita de-vono imparare ad adattare i loro comportamenti per vivere in un mondoprogettato da persone vedenti. In letteratura esistono svariati studi [2, 8]sulle conseguenze psicologiche e sociali, patite dai soggetti non vedenti acausa della loro menomazione. La capacita di apprendimento e di conse-guenza il livello di educazione, l’occupazione e le prospettive di carriera,l’abilita nelle comunicazioni e nel mantenere delle relazioni interpersonalisoddisfacenti, sono gli aspetti che piu subiscono le conseguenze dovute al-la perdita della vista. In particolare, molti studi hanno dimostrato che lepersone affette da menomazioni visive, hanno un numero di amici inferiore,minori opportunita di socializzare e meno possibilita di sviluppare le loroabilita di relazionarsi con gli altri, rispetto ai loro coetanei normo vedenti.Inoltre da tali studi emerge il senso di isolamento, di frustrazione e di soli-tudine di cui soffrono i non vedenti a causa della mancanza di segnali visiviper interpretare le emozioni e le intenzioni delle persone che li circondano.Le comunicazioni non verbali, come le espressioni facciali, il gesticolare ela posizione del corpo, rivestono un ruolo fondamentale, seppur inconscio,nelle relazioni tra esseri umani.

1

Page 16: Thesis marco de_marco

2 CAPITOLO 1. INTRODUZIONE

Nel 2015, L’Universita degli Studi di Trieste, grazie anche al contribu-to di una donazione privata, ha affidato al dipartimento di Ingegneria edArchitettura, il compito di sviluppare un dispositivo indossabile, il cui fun-zionamento sia basato su tecniche di computer vision, con lo scopo di fornireinformazioni utili nei rapporti umani a persone non vedenti ed ipovedenti.

Nella prima fase del progetto, si e volutamente scelto di ignorare l’aspettotecnologico del problema, per potersi concentrare solamente sul risultato chesi voleva ottenere, ovvero individuare il modo in cui una persona normovedente trae vantaggio dal possesso della vista in ambito sociale, e come siapossibile trasferire tale vantaggio ad un non vedente. In seguito si sono presiin considerazione anche i limiti posti dallo stato attuale della tecnologia equell’intrinsechi nella natura del problema, come ad esempio la difficolta dicogliere e classificare tutti gli aspetti della conversazione non verbale.

Dall’analisi svolta [18] sono emersi i seguenti obiettivi:

• Ausilio nel migliorare una interazione che gia sarebbe avvenuta

– Riconoscere espressioni facciali durante una discussione per me-glio interpretare le parole in una conversazione.

– Riconoscere la distanza dell’individuo con cui si conversa.

• Ausilio nell’iniziare una interazione che in assenza del dispositivo nonsarebbe avvenuta:

– Riconoscere la presenza e posizione di una persona conosciuta inuno spazio.

– Riconoscere la presenza e posizione di ulteriori persone nello spa-zio circostante.

– Riconoscere le espressioni facciali, per lo meno le piu semplici,per estrapolare una eventuale disponibilita all’interazione sia diun conoscente che di uno sconosciuto.

– Individuare elementi di interesse in una persona, che ci invoglinoad iniziare una conversazione.

Il prossimo passo del progetto, propedeutico per poter realizzare gliobiettivi precedentemente elencati, e consistito nell’individuare un algoritmodi face detection, la cui implementazione sia sufficientemente efficiente perpoter essere eseguita in real time su un dispositivo portatile dalla ridotta ca-pacita di calcolo, e sufficientemente efficace da garantire un’alta affidabilita,minimizzando gli errore di rilevamento. Considerando che lo sviluppo di unnuovo algoritmo di face detection e fuori dalla portata di questo progetto, ilcui fine ultimo e la creazione di un dispositivo di assistenza per i non vedentiin ambito sociale, ci si e concentrati principalmente nell’analisi in letteratura[15, 3, 7] dello stato dell’arte degli algoritmi di face detection e nel cercare

Page 17: Thesis marco de_marco

3

di selezionare quello che meglio si adatta al nostro particolare ambito appli-cativo. L’esigenza di dover integrare il sistema in un dispositivo indossabile,ci ha costretto, oltre a porre dei limiti sulla potenza elaborativa messa a di-sposizione degli algoritmi, per evitare di inficiare l’autonomia operativa e laportabilita, a valutare anche tutte le criticita legate ai video girati in primapersona, tramite una videocamera posizionata sul corpo, detti video egocen-trici. Nonostante la scelta del posizionamento della videocamera sul corpo,rivesta un ruolo fondamentale per la qualita finale del risultato, tutti i videoegocentrici condividono la presenza di alcuni fenomeni comuni, come sposta-menti rapidi ed improvvisi della videocamera dovuti al movimento del corpodell’utente e a forti variazioni delle condizioni di illuminazione. Inoltre, aseconda della locazione scelta, e possibile che il campo visivo della videoca-mera venga parzialmente ostruito da alcuni corpi estranei, come ad esempiocapelli o da lembi di vestiti. Un altro fattore da tenere in considerazione,nella valutazione della qualita del video, e la distorsione dovuta all’impiegodi lenti grandangolari, molto comuni sulle videocamere presenti nei dispo-sitivi indossabili attualmente in commercio. Ad aggravare ulteriormente lasituazione, si aggiunge un fattore culturale, per cui le persone presenti neivideo, tendono a non fissare direttamente l’individuo che indossa la video-camera. Conseguenza di tale fenomeno e la scarsita di inquadrature frontalidella faccia, che spesso si riducono a sole inquadrature molto angolate eparziali. Non ultimo, va tenuto conto del fatto che il soggetto impegnatonelle riprese, essendo cieco o ipovedente, spesso dalla nascita, manca dellapossibilita di avere un riscontro, seppur limitato, del risultato. In aggiuntaa quanto detto, va considerato il fenomeno chiamato manierismo, ovvero latendenza da parte dei soggetti non vedenti, a sviluppare una deambulazionediversa rispetto ai normo vedenti, in quanto affetta da movimenti anormali escuotimenti incontrollati [5]. Questo problematica va ad influenzare la scel-ta del posizionamento della videocamera, e di conseguenza anche la qualitadelle riprese effettuate.

Pertanto a questo punto del progetto, si e deciso di valutare se i tradi-zionali dataset e metodi di analisi delle presentazioni presenti in letteratu-ra, fossero adatti per l’ambito applicativo di cui e oggetto questa tesi. Lamaggior parte dei dataset proposti per la face detection, sono raccolte diimmagini di persone in posa davanti all’obiettivo, oppure di scatti into thewild, ovvero fatti all’insaputa dei soggetti ritratti o senza che questi si posi-zionino a favore di camera. Vista la peculiare necessita di svolgere l’analisisu dataset tratti da sequenze video girate da persone non vedenti, tramitedispositivi indossabili ed in situazioni in cui si potesse innescare un inte-razione sociale, ci si e visti costretti a sobbarcarci il compito di realizzareed annotare un dataset apposito per lo scopo. Per portare a termine talecompito, si sono scelti due dispositivi commerciali, uno montato sul pontedi un paio di occhiali, in posizione centrale, ed uno legato ad una collanae tenuto in posizione da un piccolo supporto. Nonostante tali dispositi-

Page 18: Thesis marco de_marco

4 CAPITOLO 1. INTRODUZIONE

vi potrebbero non rispecchiare quello che sara la configurazione definitivadel prototipo, li si sono ritenuti una buona approssimazione da cui partireper realizzare l’analisi sulla face detection [14]. La creazione del dataset divideo si puo suddividere in tre fasi principali: la produzione, ovvero la di-rezione delle scene e l’acquisizione dei filmati, la post-produzione, in cui ivideo precedentemente realizzati vengono tagliati, montati e convertiti nelformato necessario per gli strumenti di analisi, ed infine l’etichettatura, ov-vero la marcatura manuale dei volti e di altre caratteristiche fisiognomicheche andranno a costituire la ground truth. I criteri operativi utilizzati inquest’ultima fase, sono stati concepiti tenendo conto, non solo dello statoattuale, ma anche considerando gli sviluppi futuri del progetto, e cercandodi ottenere un bilanciamento tra la quantita di informazione annotata e losforzo richiesto per svolgere questa attivita. Tali criteri sono stati rigoro-samente formalizzati, al fine di ridurre al minimo l’ambiguita e facilitare illavoro di annotazione. Essi prescrivono il limite massimo a cui puo trovarsiuna faccia candidata per l’annotazione rispetto al soggetto che effettua leriprese, i limiti di rotazione massimi accettabili sui tre assi cartesiani (dettiroll, pitch e yaw), descrivono posizionamento e dimensioni del bounding box(ovvero del riquadro posto sulla faccia candidata), le caratteristiche fisio-gnomiche che verranno riportate nelle annotazioni (posizione degli occhi edella bocca) e comprendono anche due flag booleani su rotazione ed occlu-sione. La definizione precisa dei criteri per le annotazioni, assieme alla fasedi produzione e post-produzione del dataset, sono stati effettuati durantela realizzazione di un precedente lavoro [18], mentre la fase di etichettaturamanuale e stata terminata nello svolgimento di questa tesi.

A seguito del completamento del dataset di video, ci si e dedicati aquello che e stato l’oggetto principale di questo lavoro, ovvero il confrontodi algoritmi e l’analisi dei risultati ottenuti. Dalla ricerca in letteraturasono stati selezionati sei algoritmi, di cui due, Normalized Pixel Diffrences- (NPD) [11] e Pixel Intensity Comparisons Organized in Decitions Trees -(PICO) [12], erano gia stati oggetto di uno studio preliminare [18] nelle fasiiniziali di questo progetto.

Il Viola Jones - (VJ) [17] e stato inserito con lo scopo di fornire untermine di paragone, in quanto gia ampiamente conosciuto e studiato inletteratura, anche se costituisce un carattere di novita il campo applicativodell’ausilio ai non vedenti nelle interazioni sociali. Degli ultimi tre algoritmiscelti, il Google Mobile Services - (GMS) [16] ed il Visage Technologies -(Visage) [1] sono di natura commerciale, mentre il terzo, il Face-Id - (Face-Id) [4] e un progetto di ricerca attualmente in corso, di cui ci e stato con-cesso l’utilizzo. Nella fase successiva si e cercato di integrare gli algoritmiprescelti nel framework di test, appositamente progettato per misurare leprestazioni tramite degli indici statistici sintetici. Tale framework e statoampliato nelle funzionalita durante lo svolgimento di un precedente lavoro[18] rispetto a quanto fatto dal suo autore originale. La scelta dell’ambiente

Page 19: Thesis marco de_marco

5

di sviluppo per l’implementazione del framework e ricaduta su Matlab, inquanto standard accademico; il sistema operativo utilizzato e stato Micro-soft Windows 7. Purtroppo il compito di integrare gli algoritmi prescelti intale framework, si e rivelato piuttosto arduo, in quanto le implementazionidi alcuni dei suddetti algoritmi presentavano o limitazioni di licenza o ne-cessitavano di particolari ambienti di esecuzione. Il Google Mobile Services- Vision API per esempio, puo essere utilizzato solamente all’interno di unambiente Android, in cui sono in esecuzione i Google Mobile Services, percui e stato necessario eseguire i test in una virtual machine Android, messaa disposizione dall’Android SDK e poi esportare i risultati per la successivaanalisi. Discorso simile per il Visage Technologies SDK : anche in questocaso non e stato possibile l’integrazione diretta all’interno del framework ditest, a causa delle limitazioni sulla licenza d’uso che ne imponeva l’utilizzosolo sulla workstation di ateneo, per cui era stata ottenuta la licenza. Nelcaso del Face-Id invece, si e stati costretti ad implementare il codice di testin ambiente Linux, poiche, allo stato attuale, non e disponibile una versionedel framework di machine learning Torch per il sistema operativo MicrosoftWindows.

Il protocollo per il confronto delle prestazioni dei detector, sui video checompongono il dataset, prevede il raffronto tra l’output ottenuto dai detectore le annotazioni della ground truth. Da tale comparazione si ricavano i valoridi veri positivi - (TP), i falsi positivi - (FP) ed i falsi negativi - (FN) specificidi ogni detector su ogni video. In seguito, questi valori sono stati utilizzatiper il calcolo di tre indici statistici: precision, recall e falsi positivi per frame.La precision e la recall sono indici comunemente utilizzati nella valutazionedell’efficacia nei campi del information retrieval e della computer vision,mentre il falsi positivi per frame - (FPPF) e specifico per l’applicazione.

Ove e stato possibile, poiche i detector mettevano a disposizione un pa-rametro di sensibilita in ingresso, oppure di confidenza in uscita, sono statetracciate le curve Receiver Operating Characteristic - (ROC). Tali curve per-mettono di valutare il punto di lavoro di un detector, fornendo un parametrodi confidenza che potra essere usato in futuro per raffinare ulteriormente irisultati del processo di rilevamento facce. Sfortunatamente solamente duedei sei detector mettevano a disposizione un parametro appropriato per lavalutazione delle curve ROC.

La parte rimanente di questo lavoro, e stata incentrata nell’individua-zione un insieme di feature, rilevanti per lo scopo di questa tesi ed in seguitoutilizzate per caratterizzare, tramite delle statistiche, i video del dataset. Aquesto punto, si e cercato di trovare una correlazione tra i valori di precision,recall e FPPF, ottenuti dagli algoritmi sui video del dataset e le statistichesulle feature.

Questi dati saranno utilizzati come punto di partenza per le attivitafuture del progetto; questa tesi infatti, non e da intendersi come il passoconclusivo del piano di lavoro, ma solamente uno dei molti che porteranno

Page 20: Thesis marco de_marco

6 CAPITOLO 1. INTRODUZIONE

auspicabilmente alla realizzazione di un prototipo funzionante. I punti rima-sti aperti riguardano l’utilizzo di tecniche di face tracking, per sfruttare laconoscenza della posizione delle facce nei frame precedenti a quello in esame,le tecniche di face recognition, per fornire al soggetto non vedente informa-zioni sull’identita dei soggetti inquadrati e il riconoscimento delle macroespressioni, al fine di fornire informazioni sugli stati d’animo dei medesimisoggetti. Rimangono da definire inoltre proprieta delle varie componenti delsistema ed il modo piu efficace per presentare l’informazione estrapolate alsoggetto.

Page 21: Thesis marco de_marco

Capitolo 2

Dataset video sperimentale

Fin dalle prime fasi di questo lavoro di tesi, si e reso evidente l’importan-za del ruolo svolto dal dataset video scelto per l’analisi. Dalla ricerca svoltain letteratura, e risultato che la quasi totalita dei dataset video utilizzatinell’ambito del rilevamento facciale, sia limitato ad immagini fisse con faccein primo piano oppure a sequenze video girate da operatori normo vedenti.Procedere con una valutazione delle prestazioni dei detector su questa ti-pologia di video, e tenendo conto del nostro particolare ambito applicativo,quasi certamente non avrebbe portato a risultati significativi. Per tale ragio-ne, si e deciso di realizzare un apposito dataset di video che fosse affetto datutti quei fenomeni tipi dei video egocentrici, con l’ulteriore aggravante diessere girato da operatori non vedenti, e quindi impossibilitati di un riscon-tro visivo sulla qualita delle riprese. Questo capitolo descrive brevementei dispositivi indossabili utilizzati per le riprese, le caratteristiche dei videoutilizzati, introduce le sei feature quantitative e ne illustra la distribuzionesui video del dataset.

2.1 Videocamere impiegate

Le riprese dei video che compongono il dataset di test, sono state rea-lizzate tramite l’ausilio di due videocamere indossabili: la Polaroid CUBEe la SportXtreme OverLook Gx-9. Entrambe sono dispositivi commercia-li, economici e di facile reperimento, dedicati all’uso sportivo ed al tempolibero.

2.1.1 Videocamera Polaroid CUBE

La Polaroid CUBE [13] e una piccola videocamera di forma cubica, cheoffre una risoluzione Full HD, ovvero 1920x1080 pixel ed un angolo di vi-suale di 124◦. E stata montata con un laccetto al collo del non vedente,all’incirca a 15 centimetri sotto al collo. In seguito e stato montato un ulte-

7

Page 22: Thesis marco de_marco

8 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

Figura 2.1: Videocamera Polaroid CUBE

Figura 2.2: Videocamera SportXtreme OverLook Gx-9

riore supporto plastico per evitare che la videocamera oscilli eccessivamentea causa del movimento dovuto alla deambulazione. L’immagine 2.1 raffiguraun esemplare di Polaroid CUBE.

2.1.2 Videocamera SportXtreme OverLook Gx-9

La SportXtreme OverLook Gx-9 [9] e una videocamera inserita all’inter-no di una montatura di occhiali, nella parte centrale, sopra lo spazio peril naso. Offre una risoluzione HD, ovvero 1280x720 pixel ed un angolo divisuale di 135◦. In questo caso, a differenza della Polaroid CUBE, non estato necessario realizzare nessun tipo di supporto, ma e bastato far indos-sare gli occhiali al non vedente. L’immagine 2.2 raffigura un esemplare diSportXtreme OverLook Gx-9.

2.2 Video scelti per il dataset

I quattro video utilizzati nella comparazione delle prestazioni dei de-tector, sono stati selezionati tra le sequenze appartenenti al dataset [14],e realizzate durante lo svolgimento di un precedente lavoro di tesi[18]. Diquesti video si sono individuate le parti piu significative al nostro scopo, ede stato completato il lavoro di annotazione. La tabella 2.1 riporta le corri-

Page 23: Thesis marco de_marco

2.2. VIDEO SCELTI PER IL DATASET 9

Nome originale Nome mnemonico

2015 10 15 GX9 ISA 2 k 11to23s Coffee-shop2015 11 12 GX9 MLA 1 b 12s LibraryC06Isa 5 5 OfficeCUBE ISA 5 1 14s Bus-stop

Tabella 2.1: Corrispondenza tra nomi originali e nomi mnemonici

Parametro Valore

Codec mpeg 1/2Risoluzione 1280x720Frame rate 30Formato 4:2:0 YUVNumero frame 361Camera GX9Durata 12Autore IsaIndividui annotati 10Facce annotate 809Locazione Bar Ingegneria

Tabella 2.2: Caratteristiche del video Coffee-shop

spondenze tra i nomi originali dei video usati nel dataset e quelli mnemoniciutilizzati nella scrittura di questa tesi.

2.2.1 Caratteristiche dei video

Le tabelle 2.2 2.3 2.4 e 2.5 riassumono le caratteristiche principali deivideo che compongono il dataset.

2.2.2 Analisi luminanza dei video

Considerando il ruolo chiave che l’intensita luminosa svolge in molti al-goritmi di rilevamento facciale, si e deciso di svolgere un analisi preliminaresulla media e sulla deviazione standard della luminanza sui video del dataset.Per realizzare questo compito e coerentemente con quanto fatto precedente,il software utilizzato per realizzare questa analisi e stato Matlab.

La tabella 2.7 riporta i valori di media e di deviazione standard dellaluminanza dei video. Il valore di luminanza e ottenuto come conversionedei valori RGB del singolo pixel in spazio colore Y’CbCr, tramite la formula2.1 di conversione espressa dallo standard ITU-R BT.601, precedentementeconosciuto come CCIR 601.

Page 24: Thesis marco de_marco

10 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

Parametro Valore

Codec mpeg 1/2Risoluzione 1280x720Frame rate 30Formato 4:2:0 YUVNumero frame 361Camera GX9Durata 12Autore Maria LauraIndividui annotati 9Facce annotate 1074Locazione Biblioteca Universita

Tabella 2.3: Caratteristiche del video Library

Parametro Valore

Codec mpeg 1/2Risoluzione 1920x1080Frame rate 30Formato 4:2:0 YUVNumero frame 558Camera CUBEDurata 18Autore IsaIndividui annotati 2Facce annotate 206Locazione Ufficio Universita

Tabella 2.4: Caratteristiche del video Office

Page 25: Thesis marco de_marco

2.2. VIDEO SCELTI PER IL DATASET 11

Parametro Valore

Codec mpeg 1/2Risoluzione 1920x1080Frame rate 30Formato 4:2:0 YUVNumero frame 448Camera CUBEDurata 14Autore IsaIndividui annotati 13Facce annotate 1610Locazione Fermata del bus

Tabella 2.5: Caratteristiche del video Bus-stop

Parametro Valore

Numero frame 1728Durata 56Individui annotati 34Facce annotate 3699

Tabella 2.6: Caratteristiche totali del dataset

Page 26: Thesis marco de_marco

12 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

Video Media Deviazione Standard

Coffee-shop 89.803 10.381Library 97.662 5.678Office 97.186 10.998Bus-stop 109.815 7.249

Tabella 2.7: Media e deviazione standard della luminanza sul dataset

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.3: Andamento media della luminanza dei video

Y ′ = 0.299 ∗R+ 0.587 ∗G+ 0.114 ∗B (2.1)

In fine, si media tra tutti i pixel del frame e su tutti i frame che com-pongono il video. Il valore 0 rappresenta la luminanza minima, il valore 255quella massima.

Per completezza vengono riportati anche gli andamenti delle curve dimedia e di deviazione standard della luminanza su tutti i video del dataset,nelle figure 2.3 e 2.4

2.3 Criteri di etichettatura della ground truth

Un passo di fondamentale importanza per l’analisi svolta in questo la-voro di tesi, e stato il processo di etichettatura manuale della ground truth.

Page 27: Thesis marco de_marco

2.3. CRITERI DI ETICHETTATURA DELLA GROUND TRUTH 13

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.4: Andamento deviazione standard della luminanza dei video

Quest’ultima infatti costituisce la verita sulla quale si svolge il confrontocon i risultati dei detector. Purtroppo essendo l’etichettatura un processomanuale svolto da un operatore umano, e vittima di una certa soggettivita.Per ovviare il piu possibile a questo problema, sono stati stabiliti i seguenticriteri di accettabilita dei volti:

• Rotazione orizzontale: da 0◦ a quasi ±90◦.

• Rotazione verticale: non considerata.

• Distanza massima dalla videocamera: 5 metri (stimati) oppure 24 pixelminimi sul lato piu corto del bounding box.

• Occlusioni parziali: il volto puo essere occluso fino al 50%.

Le dimensioni del bounding box sono stabilite secondo i seguenti criteri:

• Segmento superiore: corrisponde all’estremita superiore della fronte

• Segmento inferiore: corrisponde all’estremita inferiore del mento.

• Segmenti laterali (caso frontale): corrisponde ai contorni del volto.

• Segmenti laterali (caso laterale): corrisponde da un lato alla parte piusporgente tra naso e guancia e dall’altro all’attaccatura dell’orecchio.

Page 28: Thesis marco de_marco

14 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

Figura 2.5: Intestazione di un file xml di Viper-GT

Le annotazioni di ground truth vengono salvate in un file xml, contraddi-stinto dall’estensione xgtf. La prima parte del suddetto file, ospita lo schemaxml, il cui scopo e delineare quali elementi sono permessi, quali tipi di datisono ad essi associati e quale relazione gerarchica hanno fra loro gli elementicontenuti nel file. Un esempio e raffigurato nella figura 2.5. La seconda par-te del file ospita invece l’informazione vera e propria, ovvero le annotazioni.Queste annotazioni contengono, tra l’altro, le seguenti informazioni:

• Face: rappresenta il bounding box attorno alla faccia. Si componedi quattro attributi. X, Y, i quali indicano la posizione dell’angolosuperiore sinistro del bounding box in coordinate cartesiane rispettoall’angolo superiore sinistro dell’immagine. Height e Width, i quali in-dicano rispettivamente l’altezza e la larghezza del quadrato che formail bounding box.

• DX EYES : rappresenta la posizione dell’occhio destro della faccia. Sicompone di due attributi, X ed Y, i quali indicano la posizione in coor-dinate cartesiane rispetto all’angolo superiore sinistro dell’immagine.

• SX EYES : rappresenta la posizione dell’occhio sinistro della faccia.Si compone di due attributi, X ed Y, i quali indicano la posizione incoordinate cartesiane rispetto all’angolo superiore sinistro dell’imma-gine.

Page 29: Thesis marco de_marco

2.4. FEATURE PER LA CARATTERIZZAZIONE DEL DATASET 15

Figura 2.6: Raffigurazione dell’interfaccia grafica di Viper-GT

• Mouth: rappresenta la posizione della bocca della faccia. Si componedi due attributi, X ed Y, i quali indicano la posizione in coordinatecartesiane rispetto all’angolo superiore sinistro dell’immagine.

• Lateral : flag booleano per discriminare la lateralita del volto: se nonsi vedono interamente due occhi il volto viene considerato laterale

• Occlusion: flag booleano per discriminare l’occlusione parziale delvolto.

Per realizzare le annotazioni dei video, e stato utilizzato un softwarespecifico, Viper-GT, che ha permesso l’etichettatura manuale dei video deldataset. Un esempio dell’interfaccia grafica utente del software Viper-GT eraffigurata nella figura 2.6.

Il lavoro di annotazione della ground truth per i video che compongono ildataset era stato iniziato in un precedente lavoro [18] ed e stato completatodurante lo svolgimento di questa tesi.

2.4 Feature per la caratterizzazione del dataset

Completata la realizzazione del dataset di video, ci si e interrogati suquella che sarebbe stata la natura dell’analisi sui risultati dei detector. Li-mitarsi a riportare solamente la quantita di facce rilevate per ogni filmatonon sarebbe stato sufficiente. Si e deciso quindi di spingere piu a fondo illivello di analisi e cercare di capire non solo quante, ma anche quali fac-ce vengano rilevate da ogni detector e su ogni sequenza. Per fare cio si eproceduto nella creazione di sei feature in grado di caratterizzare i video.

Page 30: Thesis marco de_marco

16 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

2.4.1 Descrizione delle feature

Il seguente elenco riporta le feature scelte e le descrive brevemente:

• area normalizzata del bounding box - (NBBA): il rapporto tra l’areadel bounding box e l’area totale del frame.

• distanza normalizzata del bounding box dal centro dell’immagine -(NDFC): distanza tra il centro del bounding box ed il centro del frame,diviso il raggio della circonferenza circoscritta.

• Flag laterale, non laterale - (L/NL): una faccia e considerata comelaterale quando l’occhio piu lontano non e chiaramente visibile dalpunto di vista della camera che ha effettuato la ripresa.

• Flag occluso, non occluso - (O/NO): una faccia e considerata comeocclusa quando e parzialmente coperta da un corpo estraneo.

• angolo di roll - (Roll): l’angolo di rollio e stimato come l’angolo com-preso tra l’asse x del frame (orizzontale) e la linea passante per i puntidegli occhi.

• scarto quadratico medio del contrasto - (RMSC) del bounding box cal-

colato secondo la formula proposta in [6], ovvero

√1

#B

∑B

(Iij − I

)2con Iij intensita del i-th j-th pixel del bounding box B, I e la mediadell’intensita del bounding box e #B rappresenta il numero di pixelall’interno del bounding box.

All’inizio era stata presa in considerazione anche un altra feature, la ladifferenza tra la deviazione standard della luminanza, calcolata utilizzandola formula 2.1, all’interno del bounding box e del frame, o YDIFF. Durantel’analisi tale feature si e dimostrata poco significativa e quindi e stata scartain favore del RMSC. Per completezza verranno riportati anche questi dati.

2.4.2 Distribuzione delle feature

Nella fase successiva alla definizione formale della natura delle feature,si e passata alla realizzazione di un software in grado di estrarre questainformazione sia dai video che compongono il dataset, sia dai file in cuie contenuta la ground truth. Per l’implementazione di tale software, si escelto di continuare ad usare Matlab, sia per eterogeneita con il resto delprogetto, sia in ottica di riutilizzo del codice per applicazioni future. Questascelta si e dimostrata corretta in quanto il parser xml e parte del codicedi analisi e stato riutilizzato per l’implementazione del programma per ildisegno delle curve ROC. La figura 2.7 raffigura il software Matalab pergenerare le statistiche sulle feature in esecuzione.

Page 31: Thesis marco de_marco

2.4. FEATURE PER LA CARATTERIZZAZIONE DEL DATASET 17

Figura 2.7: Programma Matlab per generare le statistiche

Le figure 2.8 2.9 2.10 2.11 2.12 e 2.13 illustrano la distribuzione dellefeature utilizzate per caratterizzare i video che compongono il dataset ditest. Per completezza vengono riportati anche la distribuzione della featurescartata YDIFF nella figura 2.14.

Page 32: Thesis marco de_marco

18 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.8: Distribuzione della feature NBBA sui video del dataset

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.9: Distribuzione della feature NDFC sui video del dataset

Page 33: Thesis marco de_marco

2.4. FEATURE PER LA CARATTERIZZAZIONE DEL DATASET 19

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.10: Distribuzione della feature L/NL sui video del dataset

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.11: Distribuzione della feature O/NO sui video del dataset

Page 34: Thesis marco de_marco

20 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.12: Distribuzione della feature Roll sui video del dataset

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.13: Distribuzione della feature RMSC sui video del dataset

Page 35: Thesis marco de_marco

2.4. FEATURE PER LA CARATTERIZZAZIONE DEL DATASET 21

(a) Coffee-shop (b) Library

(c) Office (d) Bus-stop

Figura 2.14: Distribuzione della feature YDIFF (non utilizzata) sui videodel dataset

Page 36: Thesis marco de_marco

22 CAPITOLO 2. DATASET VIDEO SPERIMENTALE

Page 37: Thesis marco de_marco

Capitolo 3

Descrizione detector

A seguito del completamento della realizzazione del dataset video, ci sie dedicati alla ricerca in letteratura, al fine di individuare dei detector chepotessero essere dei buoni candidati per il nostro contesto applicativo. Nellavoro [18] svolto precedentemente erano gia stati individuati due detector,ovvero il Normalized Pixel Diffrences - (NPD) e Pixel Intensity ComparisonsOrganized in Decitions Trees - (PICO), e per cui si era gia svolta un attivitapreliminare di analisi.

A questi due era poi stato aggiunto il Viola Jones - (VJ), in quantolargamente conosciuto e studiato, per poter essere utilizzato come terminedi paragone per le prestazioni ottenute dagli altri candidati.

Durante lo svolgimento di questo lavoro di tesi invece, sono stati aggiuntialla lista altri tre detector, ovvero il Google Mobile Service Vision - (GMS)ed il Visage SDK - (Visage) che sono di natura commerciale ed il Face-Id,progetto di ricerca attualmente in corso, di cui ci e stato concesso l’utilizzo.

Questo capitolo descrive brevemente i sei detector selezionati, ne il-lustra il funzionamento e le peculiarita dell’implementazione eseguita perl’integrazione nel framework di test utilizzato durante l’analisi.

3.1 Viola Jones - (VJ)

Il detector Viola Jones, presentato nel 2001 da Paul Viola e MichaelJones, e stato sicuramente quello che piu di ogni altro ha influenzato nel suodecennio lo sviluppo e l’evoluzione degli algoritmi di rilevamento facciale,dando origine a numerosi studi e variazioni sul tema originale.

Esso si basa su tre idee fondamentali, che ne hanno permesso l’esecuzionein real time anche con le scarse risorse computazionali messe a disposizionedai calcolatori dell’epoca: una nuova rappresentazione dell’immagine, basatasu Integral Image, l’apprendimento dei classificatori basato su Ada Boost ela struttura per i detector denominata Attentional Cascade.

23

Page 38: Thesis marco de_marco

24 CAPITOLO 3. DESCRIZIONE DETECTOR

3.1.1 Integral Image

Storicamente, prima della pubblicazione di Viola Jones, la maggior partedegli algoritmi di riconoscimento facce, si basava solamente sull’utilizzo delvalore dell’intensita dell’immagine, calcolato, per esempio, come valore RGBdi ogni pixel. Questa metodo di calcolo delle feature, implicava un caricocomputazionale elevato sui calcolatori contemporanei, impedendone di fattol’utilizzo per compiti in cui erano richieste prestazioni di tipo real time. Gliautori di Viola Jones decisero di adottare un metodo di calcolo differentedelle feature, basato sulle Haar wavelets, denominandole Haar like.

Le Haar like feature esprimono le differenze tra le somme dell’intensitadei pixel di regioni rettangolari adiacenti, in una specifica posizione di unafinestra di rilevamento. Questa differenza di intesita e utilizzata per catego-rizzare sotto sezioni di un immagine. Nella fase di rilevamento del detectorViola Jones, una finestra di una determinata dimensione e fatta scorrere sul-l’immagine oggetto dell’analisi e per ogni sottosezione dell’immagine vienecalcolata una Haar like feature. La differenza viene quindi comparata conuna soglia appresa con cui discriminare gli oggetti dai non-oggetti.

Le Haar like feature possono assumere diverse forme; quelle utilizzateda Viola Jones nella loro formulazione originale sono le seguenti:

• two rectangle feature: il valore e dato dalla differenza della somma deipixel di due aree rettangolari adiacenti, sia verticalmente che orizzon-talmente (gli elementi A e B raffigurati nella figura 3.1 rispettivamen-te).

• three rectangle feature: il valore e dato della somma dei pixel checompongono due aree rettangolari laterali nel senso orizzontale, sot-tratto al valore della somma dei pixel dell’area centrale (l’elemento Craffigurato nella figura 3.1).

• four rectangle feature: il valore e dato dalla somma dei pixel delle duearee rettangolari superiore destro ed inferiore sinistro, sottratte dallasomma delle due aree complementari (l’elemento D raffigurato nellafigura 3.1).

Il vantaggio chiave delle Haar like rispetto alle altre feature consiste nellavelocita di calcolo: infatti grazie a Integral Image, una Haar like feature diqualunque dimensione puo essere calcolata in tempo costante. Quest’ulti-ma puo essere definita come una tabella di ricerca bidimensionale, espressanella forma di una matrice con le stesse dimensioni dell’immagine originale.Ogni elemento di questa matrice contiene la somma del livello di luminositadi tutti i pixel compresi nella regione superiore sinistra rispetto alla posi-zione dello specifico elemento. Ovvero il punto ii(x, y) della Integral Imagecontiene un valore calcolato con la seguente equazione 3.1

Page 39: Thesis marco de_marco

3.1. VIOLA JONES - (VJ) 25

Figura 3.1: Esempi di Haar like feature usata da Viola Jones

Figura 3.2: Rappresentazione di Integral Image usata da Viola Jones

ii(x, y) =∑

x′≤x,y′≤y

i(x′, y

′) (3.1)

con i(x′, y

′) valore di intensita dell’immagine originale nel punto (x, y).

Questa formulazione permette di calcolare la somma di ogni regione rettan-golare dell’immagine, in ogni posizione ed in ogni scala, facendo solamentequattro accessi alla tabella di ricerca. Per esempio, con riferimento alla figu-ra 3.2, per calcolare il valore dell’area D compresa nei punti 1, 2, 3, 4, basterarisolvere la seguente equazione 3.2∑

(x,y)∈ABCD

ii(x, y) = ii(D) + ii(A)− ii(B)− ii(C) (3.2)

L’operazione di computazione di tutte le feature di un frame risulta moltovelocizzata rispetto ai casi precedenti, in quanto si riduce solamente alla

Page 40: Thesis marco de_marco

26 CAPITOLO 3. DESCRIZIONE DETECTOR

soluzione della precedente equazione 3.2 per ogni feature; la Integral Imageinvece e calcolata una volta per ogni frame.

Questo metodo pero, presenta anche alcuni limiti, come una limitatacapacita di rilevare caratteristiche e strutture geometriche complesse, e sullatipologia delle feature utilizzate.

3.1.2 Ada Boost

Il termine Boosting indica una famiglia di meta algoritmi, utilizzatinel campo del machine learning, per trovare un ipotesi altamente accu-rata combinando assieme molte ipotesi deboli ognuna con un accuratezzamodesta.

Nel detector di Viola Jones, le tecniche di Ada Boost sono utilizzate perun duplice scopo: per ridurre il numero di feature selezionando solo quellepiu significative e per addestrare una struttura ad albero sbilanciato dettaAttentional Cascade.

Il numero di feature che si otterrebbero impiegando le impostazioni stan-dard dell’algoritmo (finestre rettangolari non inferiori a 24 pixel nel lato piucorto e con un ingrandimento dei rettangoli del 25%) sarebbe cosi elevato daannullare ogni vantaggio in termine di velocita di computazione, ottenutodall’utilizzo del Integral Image, rendendo l’utilizzo del suddetto l’algoritmoimpraticabile.

Per questo motivo, il detector Viola Jones utilizza una variante dell’al-goritmo di Ada Boost per selezionare solo le feature che ottengono risultatimigliori ed addestrare i classificatori ad usarle.

Per individuare le feature piu indicative, si utilizza un processo iterativo,che puo essere descritto dal seguente algoritmo.

• Dato un insieme di immagini di addestramento (x1, y1), . . . (xn, yn),con yi = 0, 1 per ogni esempio negativo e positivo rispettivamente.

• Inizializzare i pesi w1,i = 12m ,

12l per yi = 0, 1 rispettivamente, con m

numero di esempi negativi ed l numero di esempi positivi.

• per ogni t = 1, . . . , T :

– Si normalizzano i pesi in modo da rendere wt una distribuzionedi probabilita. wt,i ← wt,i∑n

j=1(wt,i)

– Per ogni feature j, si addestra il classificatore debole hj ad uti-lizzare solamente quella feature. Si valuta l’errore commessowt, εj =

∑i(wi|hj(xi)− yi|)

– Si sceglie il classificatore ht che minimizza l’errore εt

– Si aggiornano i pesi wt+1,i = wt,iβ1−eit con ei = 0 se l’esempio xi

e classificato correttamente e con ei = 1 altrimenti e βt = εt1−εt

Page 41: Thesis marco de_marco

3.1. VIOLA JONES - (VJ) 27

Figura 3.3: Prima e seconda feature selezionate da Ada Boost

• Il classificatore forte ottenuto alla fine del processo e

h(x) =

{1, se

∑Tt=1(αtht(x)) ≥ 1

2

∑Tt=1(αt)

0, altrimenti(3.3)

con αt = log 1βt

Ad ogni iterazione dell’algoritmo si seleziona una feature sulle circa180.000 potenziali feature. La figura 3.3 raffigura le prime due feature sele-zionate dall’algoritmo di Ada Boost nella prima riga, mentre nella secondariga raffigura le stesse sovrapposte ad un esempio di faccia utilizzata durantel’addestramento. La prima feature misura la differenza di intensita tra laregione degli occhi, solitamente piu scura e quella superiore delle guance.La seconda feature invece, confronta le intensita delle regioni degli occhi conquella della regione in cui si trova il naso.

3.1.3 Attentional Cascade

Lo scopo della Attentional Cascade e aumentare le prestazioni di rile-vamento e ridurre drasticamente il tempo di computazione. L’idea chiaveconsiste nell’utilizzare prima i classificatori piu piccoli e quindi piu efficienti,per scartare il piu alto numero possibile di aree negative (quelle per cui siritiene non esserci facce da rilevare) dell’immagine, riducendo al minimo ilnumero dei falsi negativi. In seguito si passa via via ai classificatori piuefficaci, ma anche piu onerosi computazionalmente, in modo da ridurre ilnumero dei falsi positivi.

La struttura della Attentional Cascade, e quella di un albero decisionaledegenere, raffigurata in figura 3.4. Un risultato positivo del primo clas-sificatore permette il passaggio al secondo e cosi via. Un esito negativoin un qualunque punto della catena, comporta l’immediato scarto dell’areadell’immagine sotto analisi.

Ogni classificatore facente parte della Attentional Cascade e a sua voltaaddestrato tramite l’utilizzo di Ada Boost, in modo da aggiustare le soglie

Page 42: Thesis marco de_marco

28 CAPITOLO 3. DESCRIZIONE DETECTOR

Figura 3.4: Funzionamento di Attentional Cascade usata da Viola Jones

per minimizzare i falsi negativi. Per velocizzare i tempi di addestramento,si e scelto di utilizzare un approccio supervisionato, ovvero con l’ausilio diun operatore umano. Il risultato finale e una Attentional Cascade compostada 38 classificatori e con un totale di 6.060 feature.

Considerante le motivazioni che ci hanno spinto alla realizzazione di undataset di video specifico, per svolgere le valutazioni delle prestazioni deidetector nell’ambito di ausilio ai non vedenti, si sottolinea che il detector diViola Jones non e stato nuovamente addestrato, ma lo si e mantenuto congli stessi parametri scelti dagli autori. Questo fattore va tenuto in considera-zione, in quanto le condizioni di lavoro sul dataset realizzato, saranno moltopiu difficili rispetto a quello utilizzato da Viola Jones, composto principal-mente da facce frontali, in condizioni di luce favorevoli, prive di sfocaturedovute al movimento e prive di occlusioni.

La figura 3.5 rappresenta un esempio dei volti utilizzati dal datasetutilizzati da Viola Jones per l’addestramento del suddetto detector.

La figura 3.6 raffigura un test di funzionamento del Viola Jones fornitodagli autori.

3.2 Google Mobile Service Vision - (GMS)

Google ha sviluppato un framework 1, dedicato alla computer vision, daintegrare nei dispositivi dotati di sistema operativo Android. Il pacchettoVision offre un lettore di codici a barre ed un detector per la rilevazionedelle facce. Purtroppo a causa delle limitazioni imposte da Google per l’u-tilizzo dei Google Mobile Service, non e stato possibile integrare il suddettodetector all’interno del framework di test. Per tale ragione, e stata rea-lizzata un applicazione Android apposita, raffigurata nella figura 3.7, che

1https://developers.google.com

Page 43: Thesis marco de_marco

3.2. GOOGLE MOBILE SERVICE VISION - (GMS) 29

Figura 3.5: Esempi di facce del dataset di addestramento

Figura 3.6: Esempio di funzionamento del detector VJ degli autori

Page 44: Thesis marco de_marco

30 CAPITOLO 3. DESCRIZIONE DETECTOR

(a) Schermata iniziale applicazione (b) Applicazione in funzione

Figura 3.7: Applicazione Android per il detector GMS

permettesse di processare i video e di ritornare il risultato della detectionin un formato standard, da utilizzare poi nel framework di test. Questaapplicazione Android e stata eseguita nella macchina virtuale messa a di-sposizione da Android Studio. Un ulteriore limitazione delle librerie Vision,e la mancanza della possibilita di processare direttamente uno flusso videoproveniente da un file, ma solamente quello di una videocamera installatasul dispositivo. Per ovviare a questo, e stato impiegato il frame grabber diOpenCV per estrarre i frame uno ad uno da un file, e passarli al detectordel pacchetto Vision. Non e stato possibile reperire nessuna informazioneriguardo ai meccanismi ed alla natura di questo detector.

3.3 Normalized Pixel Difference - (NPD)

Presentato nel 2014, il Normalized Pixel Difference, e stato sviluppatocon l’obiettivo di sopperire alle mancanze degli altri detector nel rilevamentofacciale senza restrizioni. Infatti, lo stato dell’arte dei detector presenti al-l’epoca, aveva delle prestazioni insoddisfacenti in questa tipologia di prova,a causa delle difficili condizioni in cui si trovavano ad operare, come grandi

Page 45: Thesis marco de_marco

3.3. NORMALIZED PIXEL DIFFERENCE - (NPD) 31

Figura 3.8: Grafico della funzione differenza normalizzata di NPD

variazioni di posa, brusche variazioni di illuminazione, occlusioni, disomoge-neita di espressione, immagini fuori fuoco e bassa risoluzione delle immagini.Come nel caso del detector Viola Jones, anche il Normalized Pixel Differencesi basa sul utilizzo delle feature. In quest’ultimo caso pero, non si e ricorsoalle Haars-like feature, ma alle differenza normalizzata dei pixel, dai cui ildetector prende il nome.

La differenza normalizzata dei pixel, e espressa come la differenza di duepixel qualsiasi, divisa per la somma dei loro valori, secondo l’equazione 3.4raffigurata nella figura 3.8.

Per due generici pixel x e y, si ha:

f(Ix, Iy) =Ix − IyIx + Iy

(3.4)

con Ix, Iy > 0 e f(0, 0) = 0 quando Ix = Iy = 0. A differenza dell’articolooriginale, per evitare un ambiguita di forma, si e deciso di indicare due pixelpresi in considerazione con la notazione x e y, e con Ix Iy le loro intensita.La formulazione di questa feature ha tra i numerosi vantaggi l’invarianza discala, la possibilita di ricostruire l’immagine originale e la ridotta complessitadi calcolo, essendo calcolata solo con due somme e una divisione per feature.

La robustezza della feature del NPD rispetto alle brusche variazioni diluminosita, e dovuta ad una proprieta della funzione espressa dall’equazione3.4. Tale proprieta stabilisce che per la funzione f vale:

f(aIx, aIy) = f(Ix, Iy) ∀Ix, Iy,∀a 6= 0 (3.5)

il che garantisce l’invarianza per trasformazioni moltiplicative dell’inten-sita.

Page 46: Thesis marco de_marco

32 CAPITOLO 3. DESCRIZIONE DETECTOR

Il detector Viola Jones ricorre ai boosted stump per l’apprendimento dellefeature. Gli stamp sono dei basilari classificatori ad albero, che dividono unnodo in due foglie in base al valore di una soglia. Ci sono due limitazionifondamentali in questo approccio. La prima e dovuta alla struttura pocoprofonda che non e in grado di catturare delle interazioni tra feature didimensioni differenti. La seconda e dovuta al fatto che l’utilizzo di unasola soglia semplice, tende ad ignorare le informazioni di ordine superiorecontenute nelle feature.

Per questo motivo gli autori di NPD hanno deciso di adottare unastrategia di suddivisione quadratica e l’impiego di un deeper tree strucutre.

Nello specifico, data una feature x, la strategia di suddivisione per ilnodo e rappresentata dall’equazione 3.6

(ax2 + bx+ c) < t (3.6)

con a, b e c costanti, e t la soglia di suddivisione.

Le soglie usate nella strategia di suddivisione quadratica, sono ricavatetramite l’addestramento di classificatori deboli con l’algoritmo CART su unapposito dataset di immagini. Da questa fase vengono ricavate le soglie dainserire in ciascun nodo dell’albero decisionale.

Per ridurre il numero di feature e creare un classificatore piu robusto,viene poi applicato l’algoritmo Gentle Boost, una variante del Ada Boostutilizzato da Viola Jones.

I principali vantaggi dell’utilizzo del detector NPD, possono essere rias-sunti nel seguente elenco:

• Variazioni di posa: sono gestite tramite l’apprendimento delle featureNPD con l’ausilio dei boosted deep quadratic tree. Punti di vista dif-ferenti vengono memorizzati in foglie differenti, senza la necessita diricorrere ad detector specifici per un determinato tipo di posa.

• Copertura parziale: le feature NPD basate su coppie di pixel e non suaree piu estese come le feature Haar-like, per cui in caso di coperturaparziale, il numero di feature coinvolte e molto minore. Questo garan-tisce una maggiore robustezza alle occlusioni ed alle coperture parzialidei volti.

• Illuminazione: dovuta all’invarianza per trasformazioni moltiplicativedell’intensita, espressa dall’equazione 3.5.

• Sfocatura e basse risoluzioni: il calcolo delle feature NPD necessita so-lamente della differenza dei valori di due soli pixel, rendendo il metodoefficace anche in casi di immagini sfocate o a bassa risoluzione.

Page 47: Thesis marco de_marco

3.4. PIXEL INTENSITY COMPARISON - (PICO) 33

Figura 3.9: Esempio di funzionamento del detector NPD degli autori

Gli autori 2 hanno reso disponibile un implementazione Matlab del sud-detto detector, facilitando quindi l’integrazione nel framework di test. Lafigura 3.9 raffigura un test di funzionamento del NPD fornito dagli autori.

3.4 Pixel Intensity Comparison - (PICO)

L’approccio al problema del rilevamento facciale degli autori del detectorPICO, consiste in una variazione del metodo standard di Viola Jones. Anchein questo caso pero, e similmente per quanto avviene con NPD, l’utilizzo delleHaars like feature e stato abbandonato in favore di un confronto binariosull’intensita di due pixel che compongono l’immagine. L’idea di base dietroal funzionamento di questo detector, e lo scansionare l’immagine tramiteuna cascata di classificatori binari, in ogni posizione ragionevole ed ad ogniscala. Una regione di un immagine e considerata di interesse, se passa conesito positivo, tutti i membri della cascata di classificatori.

2http://www.cbsr.ia.ac.cn/users/scliao/projects/npdface/

Page 48: Thesis marco de_marco

34 CAPITOLO 3. DESCRIZIONE DETECTOR

Ogni classificatore binario e composto da un insieme di alberi decisiona-li,con un test binario basato sull’intensita dei pixel, per ogni nodo internodell’albero.

Il test di confronto binario, sull’intensita dei pixel, e definito secondo laformula 3.7

bintest(I; l1, l1) =

{0, I(l1) ≤ I(l0)

1, altrimenti(3.7)

con I(li) e l’intensita del pixel nella posizione li. Le posizioni l1 el2 sono espresse in coordinate normalizzate, entrambe comprese nell’in-sieme [−1,+1] × [−1,+1]; in questo modo il test puo essere facilmenteridimensionato in caso di necessita.

Il dataset di addestramento e rappresentato da 3.8:

Is, vs, ws : s = 1, 2, . . . , S (3.8)

con vs il valore di ground truth associato con l’immagine Is (+1 per icampioni positivi e −1 per quelli negativi) e ws il peso associato al campionedurante la fase dell’addestramento supervisionato.

Il test binario di ogni nodo interno che compone l’albero decisionale, eselezionato in modo da minimizzare la media quadratica pesata dell’errorecommesso durante la fase di addestramento, minimizzando il valore espressodalla formula 3.9.

WMSE =∑

(I,v,w)∈C0

w · (v − v0)2 +∑

(I,v,w)∈C1

w · (v − v1)2 (3.9)

con C − 0 e C − 1 cluster di campioni di addestramento, per i quali irisultati del test binario 3.7 su una determinata immagine Is associata, e 0ed 1 rispettivamente. I valori di v0 e di v1 rappresentano invece le mediepesate della ground truth di C − 0 e C − 1.

Minimizzare l’equazione 3.9 significa selezionare le soglie dei nodi cheforniscono i risultati migliori. Ogni nodo terminale dell’albero (detto foglia)e associato ad uno scalare, ottenuto come media pesata della ground trutharrivata al suddetto nodo, durante la fase di addestramento supervisionato.

Poiche l’utilizzo di un solo albero decisionale per classificatore, portereb-be a risultati al piu modesti, gli autori hanno deciso di impiegare l’algoritmodi Gentle Boost, una variante del piu noto Ada Boost usato da Viola Jo-nes, per generare un insieme di alberi decisionali dal potere discriminativomaggiore da combinare in un singolo classificatore.

I classificatori cosi ottenuti, andranno a formare una catena con un fun-zionamento simile a quello di Viola Jones: i classificatori piu deboli ai primiposti della catena per escludere le aree prive di volti in modo da lasciar

Page 49: Thesis marco de_marco

3.5. FACE ID - (FACE-ID) 35

scorrere verso i classificatori piu efficaci, ma meno efficienti, solamente areeridotte dell’immagine.

Il metodo PICO presenta numerosi vantaggi:

• riesce ad ottenere risultati competitivi anche con bassa potenza dicalcolo, in particolare su dispositivi privi di hardware dedicato perle operazioni a virgola mobile. Questo aspetto risulta particolarmen-te vantaggioso su dispositivi a batterie poiche ne estende la durataoperativa.

• non richiede il calcolo di integral image, di image pyramid o di HOGpyramid o altre strutture dati simili.

• tutti i test binari effettuati sui nodi interni degli alberi sono basatisullo stesso tipo di feature. A titolo di confronto il metodo di ViolaJones utilizza 5 tipi di Haars like feature per ottenere risultati simili.

• non e necessario pre-processare l’immagine prima della fase di rileva-mento facce con tecniche di normalizzazione del contrasto, ridimensio-namento, correzioni di gamma ecc.

Il codice sorgente, messo liberamente a disposizione dagli autori 3, e statosviluppato in C++, percio la sua integrazione all’interno del framework ditest, non ha presentato particolari difficolta.

La figura 3.10 raffigura un test di funzionamento del PICO fornito dagliautori.

3.5 Face Id - (Face-Id)

Il detector Face-Id e un framework di rilevamento facciale basato su deeplearing, ed e stato creato da un gruppo di lavoro della Purdue Universityguidato dal Prof. Eugenio Culurciello. Il codice sorgente e stato fornitodagli autori ed e stato sviluppato utilizzando i linguaggi C++, Lua ed ilTorch Tensor framework. Purtroppo, proprio per l’utilizzo di quest’ultimo edella sua mancata compatibilita con il sistema operativo Microsoft Windows7, ci si e visti costretti ad implementare il detector in una macchina virtualeLinux ed a fare in modo di esportare i risultati delle detection in un formatostandard leggibile dal framework di test.

Sfortunatamente anche questo detector, come nel caso del GMS, ha ri-chiesto l’impiego del frame grabber di OpenCV per estrarre i frame uno aduno da un file, e passarli al detector. Infatti quest’ultimo, e stato svilup-pato appoggiandosi a Video for Linux - (V4L) per estrarre i frame da unflusso video proveniente da una videocamera, trascurando la possibilita di

3https://github.com/nenadmarkus/pico

Page 50: Thesis marco de_marco

36 CAPITOLO 3. DESCRIZIONE DETECTOR

Figura 3.10: Esempio di funzionamento del detector PICO degli autori

processare direttamente un file salvato nella memoria di massa. L’utilizzodel frame grabber ha imposto la conversione dei frame dal formato BGRpacket di OpenCV a quello RGB planar dei tensori del framework Torch.

Al momento della scrittura di questa tesi, gli autori non hanno ancorarilasciato un documento approfondito per illustrare il funzionamento delFace-Id.

La figura 3.11 raffigura un test di funzionamento del Face-Id fornito dagliautori.

3.6 Visage SDK - (Visage)

Questo detector fa parte di un framework commerciale di rilevamentofacce sviluppato dall’azienda Visage Technologies 4. La sua peculiarita con-siste nel fornire una rappresentazione sia 2D che 3D, contente le coordinatedi molti punti di interesse di ogni faccia umana rilevata in un video, comepunta del mento, punta del naso, angoli delle labbra, etc. Sfortunatamentela natura commerciale di tale framework, ci ha imposto di adempiere agliobblighi di licenza e quindi di utilizzarlo solamente su una workstation diateneo, per cui era stata ottenuta una licenza dimostrativa. Anche in questocaso, i risultati delle detection sono stati esportati in un formato standardleggibile dal framework di test.

Similmente al caso del detector GMS e del Face-Id, anche nel caso delVisage, e stato necessario ricorrere al frame grabber di OpenCV per estrarrei frame uno ad uno da un file, e passarli al detector. Purtroppo la classe

4https://visagetechnologies.com/products-and-services/visagesdk/

Page 51: Thesis marco de_marco

3.6. VISAGE SDK - (VISAGE) 37

Figura 3.11: Esempio di funzionamento del detector Face-Id degli autori

Figura 3.12: Esempio di funzionamento del detector Visage degli autori

VisageFeaturesDetector del Visage SDK, l’unica in grado di gestire faccemultiple in un immagine, non puo estrarre autonomamente i frame da unvideo ma lavora solamente con immagini singole.

Visage Technologies non ha rilasciato nessuna informazione riguardo ilfunzionamento interno di questo detector.

La figura 3.12 raffigura un test di funzionamento del Visage fornito dagliautori.

Page 52: Thesis marco de_marco

38 CAPITOLO 3. DESCRIZIONE DETECTOR

Page 53: Thesis marco de_marco

Capitolo 4

Confronto detector

Questo capitolo costituisce la parte centrale di questo lavoro di tesi. Inesso trovano posto infatti, i dati sperimentali piu significativi, la loro analisied e propedeutico per il capitolo finale, che racchiude le conclusioni.

4.1 Il problema della classificazione binaria

Prima di partire con la descrizione dell’analisi svolta e dei risultati otte-nuti, ci si sofferma brevemente nell’illustrare alcuni concetti chiave riguar-danti il problema della classificazione binaria e gli indici statistici utilizzatiper la valutazione dell’efficacia.

Un particolare caso, molto diffuso, di classificatore e quello di classifica-tore binario. In questo caso il problema consiste nel cercare una relazioneche leghi ogni elemento di un determinato insieme di elementi da classifi-care ed uno spazio delle classi o etichette binario, ovvero composto da duesoli elementi. Tra i classificatori binari si ricordano i decision stump, albe-ri decisionali ad un solo livello ed a due possibili uscite e le Support VectorMachine, che partizionano, massimizzando il margine, lo spazio delle featureusando iperpiani o semplici superfici.

Per fornire un esempio di facile comprensione illustriamo il funziona-mento di un classificatore binario partendo dalla figura 4.1. Si parte da uninsieme di elementi da classificare, ovvero tutti gli elementi contenuti nel-la suddetta figura e da una ground truth, che sempre nella suddetta figurae rappresentata dai sotto insiemi rettangolari di colore verde chiaro e gri-gio chiaro. Gli elementi selezionati da un classificatore binario sono quellicompresi nel cerchio etichettato come selected elements.

Questo processo di selezione ha quattro possibili esiti:

• True positive: i veri positivi, ovvero un identificazione avvenuta cor-rettamente. Nel caso del rilevamento facciale corrisponde ad un voltocorrettamente identificato.

39

Page 54: Thesis marco de_marco

40 CAPITOLO 4. CONFRONTO DETECTOR

Figura 4.1: Suddivisione del dataset da parte di un classificatore binario

• False positive: i falsi positivi, ovvero un identificazione non corretta.Nel caso del rilevamento facciale corrisponde ad un oggetto scambiatoper un volto.

• False negative: falso negativo, ovvero un identificazione non avvenutada parte del classificatore. Nel caso del rilevamento facciale corri-sponde ad un volto annotato nella ground truth ma che il detector haignorato.

• True negative: veri negativi, ovvero una non identificazione corretta.Nel caso del rilevamento facciale, un area di un immagine in cui nonc’e un volto e che il detector ha correttamente ignorato.

Dopo aver definito i quattro possibili esiti di un classificatore binario,si procede alla definizione di due indici statistici largamente utilizzati nelcampo del patter recognition e del information retrieval con questo tipo diclassificatori, ovvero la precision e la recall.

La precision e definita come il numero di elementi correttamente identi-ficati, ovvero i veri positivi, diviso per la totalita degli elementi identificatidal classificatore, ovvero i veri positivi ed i falsi positivi. Una precision per-fetta (valore 1.0) significa che tutti gli elementi identificati positivamentedal classificatore binario, sono effettivamente corretti, ma non dice nulla ariguardo agli elementi classificati negativamente. La figura 4.2 - a - raffigurala precision con notazione coerente a quella della figura 4.1.

Page 55: Thesis marco de_marco

4.2. PROTOCOLLO DI ANALISI 41

(a) Precision (b) Recall

Figura 4.2: Rappresentazione di precision e recall

La recall e definita come il numero di elementi correttamente identificati,ovvero i veri positivi, diviso per la totalita degli elementi etichettati comepositivi nella ground truth, ovvero i veri positivi ed i falsi negativi. Unarecall perfetta (valore 1.0) significa che ogni elemento etichettato positiva-mente nella ground truth e stato correttamente identificato come positivodal classificatore, ma non dice nulla a riguardo agli elementi etichettati ne-gativamente nella ground truth che il classificatore potrebbe aver identificatocome positivi.La figura 4.2 - b - raffigura la precision con notazione coerentea quella della figura 4.1.

4.2 Protocollo di analisi

Per ogni frame di un determinato video e per ogni detector sotto esamesi esegue la seguente procedura:

• Si calcola Intersection to Union Areas Ratio - (IUAR) di ogni facciadi ground truth gj e di ogni faccia rilevata dai detector di, entrambeappartenenti allo stesso frame, secondo l’equazione 4.1

IUAR(di, gj) =area(di ∩ gj)area(di ∪ gj)

(4.1)

• Si cerca il miglior assegnamento possibile, tra facce di ground truth efacce rilevate dai detector, tramite l’algoritmo Ungherese [10]. Questoalgoritmo, e un metodo di ottimizzazione combinatoria, che risolve intempo polinomiale il problema dell’assegnamento, con una complessitacomputazionale di O(x3). Il miglior assegnamento e considerato quellocon un valori di IUAR piu alto.

Page 56: Thesis marco de_marco

42 CAPITOLO 4. CONFRONTO DETECTOR

• Le valutazioni per l’appartenenza di una faccia alle classi di vero posi-tivo True Positive, falso positivo False Positive o falso negativo FalseNegative, vengono fatte seguendo la seguente logica:

– True Positive se il valore di IUAR del miglior assegnamento e> 0.5.

– False Positive se il valore di IUAR del miglior assegnamento e≤ 0.5.

– False Negative se una faccia di ground truth non ha nessun asse-gnamento con una faccia rilevata dai detector.

• Si aggiorna il valore delle seguenti variabili sommando i risultati otte-nuti dal punto precedente per il nuovo frame:

– TP con il valore totale di True Positive.

– FP con il valore totale di False Positive.

– FN con il valore totale di False Negative.

Per valutare le prestazioni di un determinato detector su un video ap-partenente al dataset di test, sono stati scelti i seguenti indici statistici:

• Precision: definito come TPTP+FP

• Recall : definito come TPTP+FN

• False Positive Per Frame - (FPPF): definito come FPnf

, con nf numero

di frame di una determinata sequenza.

I primi due indici statistici scelti, ovvero precision e recall, sono comune-mente utilizzati per constatare l’efficacia nel campo del information retrievale del pattern recognition con classificatori binari. Il rimanente indice FPPF,e stato pensato per la particolare applicazione e misura, in media, quantevolte viene commesso un errore di rilevazione per frame. Nel campo appli-cativo dell’ausilio ai non vedenti, questo valore si traduce in quante volte, inmedia, il sistema di rilevamento facce informera l’utente con un informazionesbagliata.

Il framework di test che implementa il protocollo di cui questa sezionee oggetto, e stato realizzato utilizzando Matlab. Si ricorda che questo fra-mework e stato inizialmente sviluppato da Jacopo Fragasso, e poi modificatopesantemente durante lo svolgimento di questo e di un precedente [18] lavorodi tesi.

Page 57: Thesis marco de_marco

4.3. RISULTATI E DISCUSSIONI 43

Figura 4.3: Interfaccia Matlab del framework di test

4.3 Risultati e discussioni

La tabella 4.1 contiene i valori true positive -(TP),false positive -(FP) efalse negative -(FN), di ogni detector su ogni video, ed i totali raggruppatiper detector.

Dall’analisi sulla tabella 4.1 si possono trarre le seguenti conclusioni:

• Il valore piu alto di TP e stato ottenuto dal detector NDP nel videoBus-stop, con un valore di 1203.

• Il valore piu alto di FN e stato ottenuto dal detector Face-Id nel videoBus-stop, con un valore di 1608.

• Il valore piu alto di FP e stato ottenuto dal detector VJ nel videoOffice, con un valore di 4574.

• Il valore totale piu alto di TP e stato ottenuto dal detector NPD conun valore di 1898.

• Il valore totale piu alto di FN e stato ottenuto dal detector Visage conun valore di 3673.

• Il valore totale piu alto di FP e stato ottenuto dal detector VJ con unvalore di 12435.

Page 58: Thesis marco de_marco

44 CAPITOLO 4. CONFRONTO DETECTOR

Video Detector TP FN FP

Coffee-shop

Face-Id 1 808 6GMS 12 797 21NPD 247 562 837PICO 98 711 193VJ 297 512 2001Visage 2 807 45

Library

Face-Id 8 1069 1GMS 4 1071 0NPD 239 836 1265PICO 3 1072 96VJ 287 788 1757Visage 1 1074 21

Office

Face-Id 0 206 0GMS 29 177 46NPD 120 86 349PICO 85 121 73VJ 146 60 4574Visage 14 192 88

Bus-stop

Face-Id 2 1608 0GMS 33 1577 130NPD 1203 407 547PICO 405 1205 50VJ 1168 442 4103Visage 10 1600 128

Totali

Face-Id 11 3691 7GMS 78 3622 197NPD 1809 1891 2998PICO 591 3109 412VJ 1898 1802 12435Visage 27 3673 282

Tabella 4.1: Valori di TP, FN e FP sul dataset

Page 59: Thesis marco de_marco

4.3. RISULTATI E DISCUSSIONI 45

La tabella 4.2 contiene i valori degli indici statistici selezionati, ovverodi precision, recall e FPPF di ogni detector su ogni video, e le medie deimedesimi indici raggruppati per detector.

Dall’analisi sulla tabella 4.2 si possono trarre le seguenti conclusioni:

• Il valore piu alto di precision e stato ottenuto dal detector GMS nelvideo Library, con il valore 1.000.

• Il valore piu alto di recall e stato ottenuto dal detector NPD nel videoBus-Stop, con il valore 0.747.

• Il valore piu alto di FPPF e stato ottenuto dal detector VJ nel videoBus-Stop, con il valore 9.158.

• Il valore medio piu alto di precision e stato ottenuto dal detector Face-Id con il valore 0.611.

• Il valore medio piu alto di recall e stato ottenuto dal detector VJ conil valore 0.513.

• Il valore medio piu alto di FPPF e stato ottenuto dal detector VJ conil valore 7.196.

Tutti i video hanno ottenuto delle prestazioni scadenti.Il miglior risultatoe stato ottenuto dal detector NPD sul video Bus-stop, con un valore di recalldi 0.747, un valore di precision di 0.687 ed un valore di FPPF di 1.221.Questo video e l’unico girato all’esterno.

In tutti gli altri casi, o i valori di precison o di recall sono al di sotto di0.5.

Risulta evidente che i detector GMS e Face-Id sono configurati per evi-tare i falsi positivi, ottenendo ottimi valori di precision ma pessimi valoridi recall. Osservando i valori di FPPF, risulta chiaro invece, che alcuni de-tector, come il VJ, sono configurati per evitare i falsi negativi, portando alvalore piu alto di FPPF. Inoltre i detector con una configurazione a metastrada tra i due precedenti casi estremi, esibiscono valori medi di precisione di recall, rispettivamente di 0.376 e di 0.489 non soddisfacenti.

Prima di procedere nell’analisi di sensitivita riguardo all’influenza dellefeature selezionate sui valori di precision e recall, e stato necessario stabiliredelle soglie ragionevoli. Le soglie legate alle feature NBBA, NDFC, Rolle RMSC, essendo queste feature dei valori numerici, sono state stabiliteosservando gli istogrammi raffigurati nelle figure 2.8, 2.9, 2.12 e 2.13 edassumendo una distribuzione bimodale. Per stabilire quelle delle featureL/NL e O/NO, essendo queste dei valori binari, si e scelto il valore piufavorevole all’analisi, ovvero quello delle facce non laterali e non occluse.La prima parte della tabella 4.3 riporta per ogni feature numerica, la sogliascelta. Nella seconda parte invece, vengono riportate la percentuale di facce

Page 60: Thesis marco de_marco

46 CAPITOLO 4. CONFRONTO DETECTOR

Video Detector Precision Recall FPPF

Coffee-shop

Face-Id 0.143 0.001 0.017GMS 0.364 0.015 0.058NPD 0.228 0.305 2.319PICO 0.337 0.121 0.535VJ 0.129 0.367 5.543Visage 0.043 0.002 0.125

Library

Face-Id 0.889 0.007 0.003GMS 1.000 0.004 0.000NPD 0.159 0.222 3.504PICO 0.030 0.003 0.266VJ 0.140 0.267 4.867Visage 0.045 0.001 0.058

Office

Face-Id NaN 0.000 0.000GMS 0.387 0.141 0.082NPD 0.256 0.583 0.625PICO 0.538 0.413 0.131VJ 0.031 0.709 8.197Visage 0.137 0.068 0.158

Bus-stop

Face-Id 1.000 0.001 0.000GMS 0.202 0.020 0.290NPD 0.687 0.747 1.221PICO 0.890 0.252 0.112VJ 0.222 0.725 9.158Visage 0.072 0.006 0.286

Media

Face-Id 0.611 0.003 0.004GMS 0.284 0.021 0.114NPD 0.376 0.489 1.735PICO 0.589 0.160 0.238VJ 0.132 0.513 7.196Visage 0.087 0.007 0.163

Tabella 4.2: Valori di precision, recall e FPPF sul dataset

Page 61: Thesis marco de_marco

4.3. RISULTATI E DISCUSSIONI 47

NBBA NDFC Roll RMSC L/NL O/NO

Soglie τ 0.01 0.33 15 0.15 − −

Coffee-shop 80.34 26.94 86.47 72.93 47.23 76.14Library 98.13 14.71 67.26 17.51 77.23 98.17Office 37.86 20.87 95.32 43.69 91.26 92.23Bus-stop 88.50 52.98 96.58 75.53 94.04 95.71

All sequences 86.70 34.39 87.01 56.34 78.7 92.06

Tabella 4.3: Percentuale di facce sotto soglie per ogni feature

sotto la soglia, se questa e numerica, oppure uguale al valore piu favorevole,se questa e binaria.

La tabella 4.4 contiene i valori medi di precision, calcolati rispettiva-mente sotto e sopra la soglia per ogni detector su ogni video. Le soglie sonostabilite nella tabella 4.3.

La tabella 4.5 contiene i valori medi di recall, calcolati rispettivamentesotto e sopra la soglia per ogni detector su ogni video. Le soglie sono stabilitenella tabella 4.3.

Dall’analisi di sensitivita rispetto all’influenza delle feature sui valori diprecision e recall contenuti nelle tabelle 4.4 e 4.5, si evince:

• NBBA: alcuni detector hanno ottenuto risultati migliori sulle facce piugrandi, altri su quelle piu piccole. Questo fatto puo essere spiegato conparametri di configurazione dei detector lasciati inalterati rispetto aquelli originali.

• L/NL,O/NO e Roll : tutti i detector hanno ottenuto delle prestazio-ni migliori con facce non laterali, non occluse e con angolo di rolliominore. Questi risultati sono coerenti con le attese.

• RMSC : i detector NPD, PICO e Viola Jones hanno dimostrato unascarsa sensitivita riguardo allo scarto quadratico medio del contrasto,mentre i rimanenti detector hanno ottenuto delle prestazioni peggiori.Si ritiene che questo risultato sia dovuto al fatto che i primi tre detec-tor includano un sistema di insensibilita al contrasto, implementatoa livello delle feature, mentre si ipotizza che i rimanenti tre ne sianoprivi.

• NDFC : tutti i detector hanno ottenuto risultati migliori con facce inposizioni non centrali. Questo fatto e inaspettato, in quanto si ritieneche le facce in posizioni non centrali siano affette da una maggiore di-storsione dovuta alle lenti grandangolari. Da un osservazione visualedelle sequenze, si puo ipotizzare che le facce in posizioni centrali siano

Page 62: Thesis marco de_marco

48 CAPITOLO 4. CONFRONTO DETECTOR

Video Detector Sotto soglia Sopra soglia

NBBA

Face-Id 0.159 0.519GMS 0.332 0.156NPD 0.245 0.085PICO 0.189 0.259VJ 0.113 0.017Visage 0.035 0.043

NDFC

Face-Id 0.381 0.296GMS 0.038 0.450NPD 0.108 0.223PICO 0.164 0.285VJ 0.042 0.088Visage 0.027 0.051

L/NL

Face-Id 0.444 0.233GMS 0.476 0.012NPD 0.313 0.018PICO 0.446 0.003VJ 0.121 0.010Visage 0.058 0.020

O/NO

Face-Id 0.677 0.000GMS 0.450 0.038NPD 0.312 0.018PICO 0.420 0.028VJ 0.121 0.009Visage 0.078 0.000

Roll

Face-Id 0.444 0.000GMS 0.469 0.007NPD 0.317 0.005PICO 0.437 0.007VJ 0.126 0.001Visage 0.058 0.000

Tabella 4.4: Media della precision rispetto alle feature

Page 63: Thesis marco de_marco

4.3. RISULTATI E DISCUSSIONI 49

Video Detector Sotto soglia Sopra soglia

NBBA

Face-Id 0.001 0.001GMS 0.006 0.039NPD 0.304 0.160PICO 0.054 0.143VJ 0.364 0.149Visage 0.002 0.018

NDFC

Face-Id 0.001 0.002GMS 0.004 0.041NPD 0.122 0.342PICO 0.046 0.151VJ 0.148 0.366Visage 0.002 0.018

L/NL

Face-Id 0.001 0.001GMS 0.044 0.001NPD 0.441 0.024PICO 0.196 0.001VJ 0.486 0.027Visage 0.019 0.001

O/NO

Face-Id 0.002 0.000GMS 0.043 0.002NPD 0.441 0.023PICO 0.187 0.010VJ 0.475 0.038Visage 0.020 0.000

Roll

Face-Id 0.001 0.000GMS 0.041 0.002NPD 0.443 0.009PICO 0.190 0.005VJ 0.491 0.004Visage 0.019 0.000

RMSC

Face-Id 0.000 0.002GMS 0.006 0.039NPD 0.277 0.188PICO 0.093 0.104VJ 0.325 0.189Visage 0.003 0.017

Tabella 4.5: Media della recall rispetto alle feature

Page 64: Thesis marco de_marco

50 CAPITOLO 4. CONFRONTO DETECTOR

di dimensioni maggiori rispetto a quelle in posizioni piu laterali. Pur-troppo pero, considerato le differenti prestazioni dei detector rispettoalla feature NBBA, questa spiegazione deve essere rigettata. Nei futurilavori si cerchera di trovare una spiegazione a riguardo.

4.4 Curve (ROC)

In teoria delle decisioni, le Receiver Operating Characteristic - (ROC),sono degli schemi grafici che illustrano le prestazioni di un classificatorebinario come risposta alla variazione della soglia di discriminazione.

Il grafico e ottenuto tracciando i valori di True Positive Rate - (TPR),detto anche specificity o recall, definito come TPR = TP

TP+FN , in funzionedei valori di False Positive Rate - (FPR) o fallout e definito come FPR =

FPFP+TN .

Uno spazio ROC, raffigurato in figura 4.4, e definito come FPR ed TPRcome assi x e y rispettivamente, e illustra il rapporto tra i veri positivi edi falsi positivi. Ogni uscita dei un classificatore binario rappresentata unpunto in uno spazio ROC.

La miglior predizione possibile di un classificatore, porterebbe ad unpunto nell’angolo superiore sinistro di coordinate (0,1) dello spazio ROC.Questo punto, detto anche punto di classificazione perfetta, indica l’assenzadi falsi negativi e di falsi positivi. A titolo di confronto, un classificatorecompletamente casuale, porterebbe a punti lungo la diagonale che va dal-l’angolo inferiore sinistro a quello superiore destro. Questa linea e dettalinea di non discriminazione. I punti superiori a questa diagonale indicanouna classificazione buona (valori migliori di quella casuale), mentre i pun-ti inferiori a questa diagonale indicano una classificazione pessima (valoripeggiori di quella casuale).

L’implementazione del programma per tracciare le curve ROC, come neicasi precedenti, e stata fatta utilizzando Matlab. La figura 4.5 raffigura unesempio di curva ROC realizzata per il detector NPD. Per esigenze tipo-grafiche e di consultazione, si e scelto di non usare gli screenshot dei graficiprodotti da matlab, ma di creare dei grafici utilizzando LATEX.

Si e deciso di tracciare le curve ROC per ottenere una maggiore com-prensione dei detector oggetto di analisi. Purtroppo, solamente i detectorNPD e PICO, le cui curve sono riportate nei quattro grafici 4.6, 4.7, 4.8 e4.9, forniscono assieme al risultato della rilevazione, un valore di confidenza,indispensabile per tracciare il grafico delle curve ROC. I rimanenti detectornon forniscono nessun parametro di confidenza.

L’analisi delle curve ROC conferma i risultati riportati nella 4.2, eviden-ziando il rapporto che lega i valori di recall e FPPF

Page 65: Thesis marco de_marco

4.4. CURVE (ROC) 51

Figura 4.4: Spazio delle curve ROC

Figura 4.5: Programma Matlab per il disegno delle curve ROC

Page 66: Thesis marco de_marco

52 CAPITOLO 4. CONFRONTO DETECTOR

0 100 200 300 400 500 600 700 8000

5 · 10−2

0.1

0.15

0.2

0.25

0.3

FPPF

Rec

all

NPDPICO

Figura 4.6: ROC curves for Coffee-shop video

0 200 400 600 800 1,000 1,2000

5 · 10−2

0.1

0.15

0.2

0.25

FPPF

Rec

all

NPDPICO

Figura 4.7: ROC curves for Library video

Page 67: Thesis marco de_marco

4.4. CURVE (ROC) 53

0 50 100 150 200 250 300 3500

0.1

0.2

0.3

0.4

0.5

0.6

FPPF

Rec

all

NPDPICO

Figura 4.8: ROC curves for Office video

0 100 200 300 400 5000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

FPPF

Rec

all

NPDPICO

Figura 4.9: ROC curves for Bus-stop video

Page 68: Thesis marco de_marco

54 CAPITOLO 4. CONFRONTO DETECTOR

Page 69: Thesis marco de_marco

Capitolo 5

Conclusioni e sviluppi futuri

Il dipartimento di Ingegneria ed Architettura dell’Universita degli Studidi Trieste, ha ricevuto nel 2015, grazie alla donazione da parte di un sogget-to privato, il compito di progettare e sviluppare un dispositivo indossabileche, tramite l’utilizzo di tecniche di computer vision, fornisca informazioniutili a persone non vedenti ed ipovedenti nella sfera sociale e dei rappor-ti umani. Data la complessita e la vastita degli argomenti trattati, risultaevidente che per la realizzazione di questo ambizioso progetto, un singololavoro di tesi non possa essere sufficiente. In questo scritto, ci si e concen-trati sul rilevamento facciale o face detection, in particolar modo in quellatipologia di video detti egocentrici, ovvero ottenuti da telecamere solidali alcorpo dell’utente che realizza i video. Tali video risultano affetti da spo-stamenti rapidi ed improvvisi della videocamera dovuti al movimento delcorpo dell’utente ed a forti variazioni delle condizioni di illuminazione. Apeggiorare ulteriormente la situazione, l’impossibilita di riscontro visivo daparte dell’utente non vedente impegnato nelle riprese, le distorsioni dovuteall’utilizzo di lenti grandangolari nei dispositivi commerciali indossabili e lapossibilita di occlusione da parte di corpi estranei, come capelli e lembi divestiti, del campo visivo della videocamera. Spinti da tali considerazioni edalla mancanza di un dataset preesistente che riproducesse tali condizioni, sie optato per la realizzazione di un dataset di video apposito per lo scopo. Inquesto lavoro di tesi, sono stati presi in esame sei detector, partendo da unaricerca svolta in letteratura e facendo tesoro dei risultati delle precedentiesperienze. Ne sono state misurate le prestazioni sulle difficili condizioni dilavoro offerte dal dataset appositamente realizzato e si e cercato di trovareuna correlazione tra queste ed i disturbi che affliggono i video egocentrici.A tale scopo, sono state selezionate sei feature quantitative, che descrivesse-ro alcune caratteristiche salienti dei volti presenti nei quattro video, e sullequali si e basata un analisi di sensitivita sull’efficacia dei sei detector presiin esame.

Sfortunatamente, dai risultati della nostra analisi comparativa sperimen-

55

Page 70: Thesis marco de_marco

56 CAPITOLO 5. CONCLUSIONI E SVILUPPI FUTURI

tale, si evince che tutti i detector selezionati, hanno dimostrato delle presta-zioni scadenti a causa dalle difficili condizioni di lavoro che caratterizzanoil dataset da noi realizzato. Inoltre, si e reso evidente che il compito diindividuare la quasi totalita delle facce presenti in un video del dataset, siadifficilmente raggiungibile utilizzando uno dei detector oggetto dell’analisi,senza prendere in considerazione ulteriori azioni per migliorarne l’efficacia.

L’analisi di sensitivita svolta sull’influenza delle feature sulle prestazionidei detector (espresse come valori di precision e recall rispetto ad una so-glia stabilita per la feature) ha portato ad alcuni risultati inattesi. Difattie emerso che NPD, PICO e VJ abbiano una sensitivita minore rispetto alvalore quadratico medio del contrasto, rispetto agli altri detector, probabil-mente per un insensibilita al contrasto legato al tipo di feature utilizzate.Inoltre sembra che tutti i detector abbiamo manifestato valori migliori diprecision e di recall sopra la soglia della feature NDFC. Cio significa chehanno prestazioni migliori sulle facce in posizioni non centrali. Da questeconsiderazioni si suggerisce di approfondire questo fenomeno, analizzando laco-distribuzione della feature NDFC e delle altre come L/NL, O/NO, Rolletc. La feature NBBA ha manifestato un comportamento bivalente: alcunidetector manifestano ottime prestazioni mentre altri invece scarse. Cio puoessere spiegato con le differenti configurazioni di ogni detector. Riguardo allefeature L/NL, O/NO e Roll, i risultati dell’analisi dimostra un comporta-mento largamente atteso, ovvero tutti i detector hanno prestazioni miglioricon facce non laterali, non occluse e con scarso angolo di Roll.

I risultati ottenuti dallo studio effettuato durante lo svolgimento di que-sto lavoro di tesi, forniscono spunti e suggerimenti per i possibili sviluppifuturi del progetto. Purtroppo allo stato attuale, sembra fuori portata lapossibilita di individuare la totalita, o quantomeno la maggior parte dei volti,presenti nei filmati ottenuti da videocamere indossabili portate da soggettinon vedenti. Questo era un passo fondamentale al fine di poter suggerire alnon vedente numero ed identita delle persone rilevate, al fine di permetterglidi decidere se iniziare o meno un interazione sociale con uno di questi.

Uno dei possibili scenari futuri potrebbe consistere nel concentrarsi so-lamente nel rilevamento facciale delle persone che si avvicinano al soggettonon vedente, estendendo in seguito anche al riconoscimento dell’identita.

Un’altra possibilita invece, potrebbe essere nel focalizzarsi nel riconosci-mento delle espressioni facciali delle persone che gia stanno interagendo conil soggetto non vedente. Cio permetterebbe quest’ultimo di essere informatosu tutta quella parte di comunicazione non verbale legata elle espressionifacciali a cui un soggetto privo di vista non ha accesso.

Se al contrario si decidesse di continuare nella strada di cercare di rile-vare tutti i volti presenti in un determinato video, si ritiene inevitabile lanecessita di indagare sulle prestazioni dei detector al variare dei parametridi configurazione, oppure di tentare nuovamente l’addestramento utilizzandoun dataset specifico per il contesto applicativo.

Page 71: Thesis marco de_marco

57

Infine, rimane da definire le proprieta delle varie componenti del sistema,le tecnologie da utilizzare per la realizzazione del prototipo ed il modo piuefficace per presentare l’informazione estrapolate dal soggetto.

Page 72: Thesis marco de_marco

58 CAPITOLO 5. CONCLUSIONI E SVILUPPI FUTURI

Page 73: Thesis marco de_marco

Bibliografia

[1] Visage Technologies AB. Face tracking and analysis. Technical report.

[2] D. Bolt. From blindness to visual impairment: Terminological typologyand the social model of disability. Disability and Society, 20(5):539–552,2005.

[3] Z. Zhang C. Zhang. A survey of recent advances in face detection.Technical report, Microsoft Corporation One Microsoft Way Redmond,WA 98052-7329, June 2010.

[4] Aysegul Dundar, Jonghoon Jin, Berin Martini, and Eugenio Culur-ciello. Embedded streaming deep neural networks accelerator withapplications. 2016.

[5] S. Danova O. Ferrarri-Ginevra C. Gheza A. Luparia U. Balottin E. Faz-zi, J. Lanners and G. Lanzi. Stereotyped behaviours in blind children.Brain and Development, 21(8):522–528, 1999.

[6] Robert A Frazor and Wilson S Geisler. Local luminance and contrastin natural images. Vision research, 46(10):1585–1598, 2006.

[7] Y. Cao H. Wang, Y. Wang. Video-based face recognition: A survey.World Academy of Science, Engineering and Technology, 60:293–302,2009.

[8] J. Harrow I. Bruce and P. Obolenskaya. Blind and partially sightedpeople’s perceptions of their inclusion by family and friends. Journalof Visual Impairment, 25(1):68–85, 2007.

[9] IperGO. Sportxtreme gx-9. Technical report.

[10] Harold W Kuhn. The hungarian method for the assignment problem.Naval research logistics quarterly, 2(1-2):83–97, 1955.

[11] Shengcai Liao, Anil K. Jain, and Stan Z. Li. A fast and accurateunconstrained face detector. CoRR, abs/1408.1656, 2014.

59

Page 74: Thesis marco de_marco

60 BIBLIOGRAFIA

[12] Nenad Markus, Miroslav Frljak, Igor S Pandzic, Jorgen Ahlberg, andRobert Forchheimer. Object detection with pixel intensity comparisonsorganized in decision trees. arXiv preprint arXiv:1305.4537, 2013.

[13] Polaroid. Polaroid cube. Technical report.

[14] E. Medvet F. A. Pellegrino G. Ramponi S. Carrato, S. Marsi andM. Vittori. Computer vision for the blind: a dataset for experimentson face detection and recognition. Technical report, 2016.

[15] Z. Zhang S. Zafeirioub, C. Zhang. A survey on face detection in the wild:Past, present and future. Computer Vision and Image Understanding,138:1–24, 2015.

[16] Google Mobile Services Team. Google mobile services - vision api.Technical report.

[17] Paul Viola and Michael Jones. Rapid object detection using a boostedcascade of simple features. In Computer Vision and Pattern Reco-gnition, 2001. CVPR 2001. Proceedings of the 2001 IEEE ComputerSociety Conference on, volume 1, pages I–511. IEEE, 2001.

[18] Michele Vittori. Rilevamento di facce in flussi video per l’ausilio ai nonvedenti. Laurea triennale in ingegneria dell’informazione, Universitadegli Studi di Trieste - Dipartimento Ingegneria ed Architettura, 2016.

Page 75: Thesis marco de_marco

Configurazioni sperimentalidei detector

.1 Parametri Viola Jones

I seguenti parametri .1 sono i parametri impostati da Matlab durante itest del detector VJ.

opz i on i . s c a l e f a c t o r =1.1 ;opz i on i . mergethreshold=2;opz i on i . de t e c to r type=’ h a a r c a s c a d e f r o n t a l f a c e d e f a u l t . xml ’ ;

.2 Parametri Normalized Pixel Difference

I seguenti parametri .2 sono i parametri impostati da Matlab durante itest del detector NPD.

opz i on i . mins i ze = 128 ;opz i on i . maxsize = 1024 ;opz i on i . ang le = 0 ;opz i on i . s c a l e f a c t o r = 1 . 1 ;opz i on i . s t r i d e f a c t o r = 0 . 1 ;opz i on i . n o c l u s t e r i n g = 0 ;

.3 Parametri Pixel Intensity Comparison

I seguenti parametri .3 sono i parametri impostati da Matlab durante itest del detector PICO.

opz i on i . minface=20;opz i on i . maxface=4000;opz i on i . over lapp ingThresho ld =0.1 ;opz i on i . de t e c to r type=’ mode l f r on ta l . mat ’ ;opz i on i . d e t e c t i on s =0.5 ;opz i on i . numThreads=4;

61

Page 76: Thesis marco de_marco

62 CONFIGURAZIONI SPERIMENTALI DEI DETECTOR

.4 Parametri Google Mobile Service Vision

La classe FaceDetector, utilizzata nell’implementazione del detector Goo-gle Mobile Service Vision presenta le seguenti proprieta all’utente:

• prominent face only : individua solamente le facce prominenti.

• fast mode enabled : incremento di velocita a scapito di accuratezzadella rilevazione.

• tracking enabled : abilita il tracciamento delle facce in un flusso videoal fine di migliorare il rilevamento nei frame successivi, utilizzando ilprincipio di localita.

Tutti questi parametri sono stati impostati a false.

.5 Parametri Visage SDK

I parametri di configurazione del detector Visage SDK sono contenuti innumerosi file facenti parte della distribuzione software. Essi non sono pen-sati per essere configurati dall’utente finale se non tranne l’ausilio direttodella Visage Technologies. La classe VisageFeaturesDetector, utilizzata nel-l’implementazione in quanto l’unica a supportare il rilevamento di facce mul-tiple, non presenta possibilita di variare alcun parametro di configurazionetramite le API.

.6 Parametri Face-Id

I seguenti parametri .6 sono quelli originali dello script Lua usati durantei test del detector Face Id.

opt = lapp ( [ [−−camIdx ( d e f au l t 0) Camera ID number−−width ( d e f au l t 640) Set image width f o r HD camera−−he ight ( d e f au l t 360) Set image width f o r HD camera−−f p s ( d e f au l t 10) Set image fp s f o r camera−−theta hard ( d e f au l t 0 .700 ) Set c o r r e l a t i o n th r e sho ld−−t h e t a s o f t ( d e f au l t 0 .600 ) Set c o r r e l a t i o n th r e sho ld−−minface ( d e f au l t 10000) Minimum fac e s i z e (pxˆ2)−−backend ( d e f au l t ’ nn ’ ) Backend (nn | cunn | cudnn )−−cache ( d e f au l t ’ c a che . t 7 ’ ) F i l e path f o r s e s s i o n−−zoom ( de f au l t 2) Zoom d i sp l ay output−−minimal Use a minimal d i sp l ay to shorten runtime<v i d e o f i l e > ( s t r i n g ) Video f i l e to p roce s s

] ] )

I seguenti parametri .6 sono interni al detector Face Id e non sono pensatiper essere cambiati dall’utente. Vengono riportati per completezza.

Page 77: Thesis marco de_marco

.6. PARAMETRI FACE-ID 63

−− parametersl o c a l t i t l e = ’ Face I d e n t i f i c a t i o n ’l o c a l s t a t e = ’ resume ’l o c a l emb s ize = 128l o c a l thumb = {

o f f s e t w = 10 ,o f f s e t h = opt . h e i gh t + 10 ,s i z e = 80 ,c o l = 10 ,row = 4 ,marg in co l = 0 ,margin row = 0 ,

}

−− i n i t f a c e a l i g n l i b and f a c ene tl o c a l f a c e l i b = r equ i r e ( ’ l i b f a c e a l i g n ’ )f a c e l i b .

loadmodel ( ’model/ shape p r ed i c t o r 68 f a c e l andmark s . da t ’ )f a c e l i b . s i z e = 224f a c e l i b . c r o p = {

padding = 0 .5 ,s h i f t = 0 .05 ,model = ’model/model . t7 ’ ,s t a t = {

mean = torch .F loatTensor ({0 .51924335956573 ,0 .40590268373489 , 0 .35108634829521 }) ,

s td = torch .F loatTensor ({0 .23941849172115 ,0 .20829625427723 , 0 .19675312936306 }) ,

} ,}

Page 78: Thesis marco de_marco

64 CONFIGURAZIONI SPERIMENTALI DEI DETECTOR

Page 79: Thesis marco de_marco

Risultati sperimentali suldataset

Questa appendice riporta in modo completo, i valori di tutti i risultatisperimentali ottenuti durante lo svolgimento di questo lavoro di tesi. Nontutti questi dati sono stati usati nella successiva fase di analisi, ma si escelto di riportarli comunque per maggiore completezza ed esaustivita. Ladecisione di inserirli in un appendice a se stante dal corpo centrale della tesi,e stata presa per facilitare la lettura e la consultazione dei capitoli principali,di cui il suddetto lavoro si compone.

.7 Valore medio di TP, FP e FN

Le tabelle 1 2 3 e 4 riportano i risultati sperimentali dei detector, espressicome vero positivo (True Positive - (TP)) medio, falso negativo (False Ne-gative - (FN)) medio e falso positivo (False Positive - (FP)) medio, compresidi tempi di esecuzione. I tempi di esecuzione vanno intesi come indicativie vengono riportati solo per completezza, in quanto i detector Google Mo-bile Services - Vision API, Visage Technologies SDK e Face-Id, a causa dilimitazione di licenza o di imposizioni tecniche, sono stati eseguiti rispet-tivamente, in una virtual machine Android, su una Workstation di Ateneoed in un ambiente virtualizzato Linux. L’eterogeneita degli ambienti di ese-cuzione non altera la comparabilita dei risultati ottenuti, esclusi i tempi diesecuzione.

.8 Soglie scelte per ogni feature

Per facilitare la consultazione dei successivi dati sperimentali, viene ri-portata nuovamente la tabella 5, in cui si elencano le soglie selezionate comediscriminante nel calcolo di precision e recall, per ogni feature.

65

Page 80: Thesis marco de_marco

66 RISULTATI SPERIMENTALI SUL DATASET

Detector TP medio FN medio FP medio Tempo (s)

VJ 0.822 1.418 5.542 551GMS 0.033 2.207 0.058 50NPD 0.684 1.556 2.318 310PICO 0.271 1.969 0.534 23Face-Id 0.002 2.238 0.016 156Visage 0.005 2.235 0.124 20

Tabella 1: Risultati detection del video Coffee-shop

Detector TP medio FN medio FP medio Tempo (s)

VJ 0.795 2.182 4.867 430GMS 0.011 2.966 0 50NPD 0.662 2.315 3.504 116PICO 0.008 2.969 0.265 16Face-Id 0.022 2.955 0.002 163Visage 0.002 2.975 0.058 24

Tabella 2: Risultati detection del video Library

Detector TP medio FN medio FP medio Tempo (s)

VJ 0.259 0.106 8.138 897GMS 0.051 0.314 0.081 98NPD 0.213 0.153 0.620 416PICO 0.151 0.215 0.129 73Face-Id 0 0.366 0 537Visage 0.024 0.341 0.156 28

Tabella 3: Risultati detection del video Office

Detector TP medio FN medio FP medio Tempo (s)

VJ 2.607 0.986 9.158 652GMS 0.073 3.520 0.290 744NPD 2.685 0.908 1.220 197PICO 0.904 2.689 0.111 58Face-Id 0.004 3.589 0 448Visage 0.022 3.571 0.285 25

Tabella 4: Risultati detection del video Bus-stop

Page 81: Thesis marco de_marco

.9. VALORI DI PRECISION RISPETTOALLE SOGLIE DI OGNI FEATURE67

Feature Soglia

NBBA 0.01NDFC 0.33L/NL 0.5O/NO 0.5Roll ±15◦

RMSC 0.15

Tabella 5: Soglie per le feature

.9 Valori di Precision rispetto alle soglie di ognifeature

Le tabelle 6, 7, 8, 9 e 10 una per ognuna delle feature selezionate, presen-tano i valori di precision calcolati per i video e per i detector presi in esame.Si ricorda che quando e stata svolta l’analisi sulla precision, non era ancorastata contemplata un feature legata alla luminosita; feature poi introdottanella successiva analisi sulla recall. Il valore di recall e a sua volta suddivisoin sotto soglia e sopra soglia, in base ai valori della tabella 5. La parte finaledella tabella infine, riporta la media di precision, rispettivamente di sopra edi sotto soglia, ottenute dai detector per ogni video del dataset.

.10 Valori di Recall rispetto alle soglie di ognifeature

Le tabelle 11, 12, 13, 14, 15, 16, 17 e 18, una per ognuna delle featureselezionate, presentano i valori di recall calcolati per i video e per i detec-tor presi in esame. Si ricorda che la feature YDIFF, ovvero differenza dideviazione standard tra la luminanza del bounding box e del frame e statascartata in favore di RMSC, ovvero lo scarto quadratico medio del contra-sto. Il valore di recall e a sua volta suddiviso in sotto soglia e sopra soglia,in base ai valori della tabella 5. La parte finale della tabella infine, riportala media di recall, rispettivamente di sopra e di sotto soglia, ottenute daidetector per ogni video del dataset.

Page 82: Thesis marco de_marco

68 RISULTATI SPERIMENTALI SUL DATASET

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.143 0.000GMS 0.212 0.152NPD 0.168 0.060PICO 0.120 0.216VJ 0.101 0.028Visage 0.021 0.021

Library

Face-Id 0.333 0.556GMS 1.000 0.000NPD 0.158 0.001PICO 0.030 0.000VJ 0.140 0.000Visage 0.045 0.000

Office

Face-Id NaN NaNGMS 0.000 0.387NPD 0.047 0.200PICO 0.000 0.538VJ 0.011 0.019Visage 0.000 0.137

Bus-stop

Face-Id 0.000 1.000GMS 0.117 0.086NPD 0.607 0.080PICO 0.607 0.284VJ 0.200 0.021Visage 0.072 0.014

Medie

Face-Id 0.159 0.519GMS 0.332 0.156NPD 0.245 0.085PICO 0.189 0.259VJ 0.113 0.017Visage 0.035 0.043

Tabella 6: Valori di precision rispetto alla feature NBBA

Page 83: Thesis marco de_marco

.10. VALORI DI RECALL RISPETTOALLE SOGLIE DI OGNI FEATURE69

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.143 0.000GMS 0.000 0.364NPD 0.018 0.209PICO 0.000 0.337VJ 0.016 0.113Visage 0.043 0.000

Library

Face-Id 0.000 0.889GMS 0.000 1.000NPD 0.031 0.128PICO 0.000 0.030VJ 0.029 0.112Visage 0.000 0.045

Office

Face-Id NaN NaNGMS 0.000 0.387NPD 0.006 0.241PICO 0.000 0.538VJ 0.004 0.026Visage 0.000 0.137

Bus-stop

Face-Id 1.000 0.000GMS 0.153 0.049NPD 0.375 0.313PICO 0.657 0.233VJ 0.119 0.103Visage 0.065 0.022

Medie

Face-Id 0.381 0.296GMS 0.038 0.450NPD 0.108 0.223PICO 0.164 0.285VJ 0.042 0.088Visage 0.027 0.051

Tabella 7: Valori di precision rispetto alla feature NDFC

Page 84: Thesis marco de_marco

70 RISULTATI SPERIMENTALI SUL DATASET

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.000 0.143GMS 0.364 0.000NPD 0.180 0.048PICO 0.326 0.010VJ 0.097 0.032Visage 0.021 0.021

Library

Face-Id 0.333 0.556GMS 1.000 0.000NPD 0.139 0.019PICO 0.030 0.000VJ 0.135 0.006Visage 0.000 0.045

Office

Face-Id NaN NaNGMS 0.387 0.000NPD 0.247 0.000PICO 0.538 0.000VJ 0.030 0.000Visage 0.137 0.000

Bus-stop

Face-Id 1.000 0.000GMS 0.153 0.049NPD 0.685 0.003PICO 0.888 0.002VJ 0.221 0.000Visage 0.072 0.014

Medie

Face-Id 0.444 0.233GMS 0.476 0.012NPD 0.313 0.018PICO 0.446 0.003VJ 0.121 0.010Visage 0.058 0.020

Tabella 8: Valori di precision rispetto alla feature L/NL

Page 85: Thesis marco de_marco

.10. VALORI DI RECALL RISPETTOALLE SOGLIE DI OGNI FEATURE71

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.143 0.000GMS 0.212 0.152NPD 0.179 0.049PICO 0.223 0.113VJ 0.102 0.027Visage 0.043 0.000

Library

Face-Id 0.889 0.000GMS 1.000 0.000NPD 0.158 0.001PICO 0.030 0.000VJ 0.140 0.000Visage 0.045 0.000

Office

Face-Id NaN NaNGMS 0.387 0.000NPD 0.245 0.002PICO 0.538 0.000VJ 0.028 0.002Visage 0.137 0.000

Bus-stop

Face-Id 1.000 0.000GMS 0.202 0.000NPD 0.667 0.020PICO 0.890 0.000VJ 0.213 0.008Visage 0.087 0.000

Medie

Face-Id 0.677 0.000GMS 0.450 0.038NPD 0.312 0.018PICO 0.420 0.028VJ 0.121 0.009Visage 0.078 0.000

Tabella 9: Valori di precision rispetto alla feature O/NO

Page 86: Thesis marco de_marco

72 RISULTATI SPERIMENTALI SUL DATASET

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.000 0.000GMS 0.364 0.000NPD 0.223 0.000PICO 0.326 0.000VJ 0.127 0.000Visage 0.021 0.000

Library

Face-Id 0.333 0.000GMS 1.000 0.000NPD 0.126 0.011PICO 0.030 0.000VJ 0.131 0.003Visage 0.000 0.000

Office

Face-Id NaN NaNGMS 0.360 0.027NPD 0.237 0.008PICO 0.506 0.025VJ 0.028 0.000Visage 0.137 0.000

Bus-stop

Face-Id 1.000 0.000GMS 0.153 0.000NPD 0.680 0.002PICO 0.884 0.004VJ 0.220 0.001Visage 0.072 0.000

Medie

Face-Id 0.444 0.000GMS 0.469 0.007NPD 0.317 0.005PICO 0.437 0.007VJ 0.126 0.001Visage 0.058 0.000

Tabella 10: Valori di precision rispetto alla feature Roll

Page 87: Thesis marco de_marco

.10. VALORI DI RECALL RISPETTOALLE SOGLIE DI OGNI FEATURE73

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.001 0.000GMS 0.009 0.006NPD 0.225 0.080PICO 0.043 0.078VJ 0.288 0.079Visage 0.001 0.001

Library

Face-Id 0.003 0.005GMS 0.004 0.000NPD 0.221 0.001PICO 0.003 0.000VJ 0.266 0.001Visage 0.001 0.000

Office

Face-Id 0.000 0.000GMS 0.000 0.141NPD 0.112 0.471PICO 0.000 0.413VJ 0.248 0.447Visage 0.000 0.068

Bus-stop

Face-Id 0.000 0.001GMS 0.012 0.009NPD 0.660 0.087PICO 0.171 0.080VJ 0.655 0.070Visage 0.006 0.001

Medie

Face-Id 0.001 0.001GMS 0.006 0.039NPD 0.304 0.160PICO 0.054 0.143VJ 0.364 0.149Visage 0.002 0.018

Tabella 11: Valori di recall rispetto alla feature NBBA

Page 88: Thesis marco de_marco

74 RISULTATI SPERIMENTALI SUL DATASET

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.001 0.000GMS 0.000 0.015NPD 0.025 0.281PICO 0.000 0.121VJ 0.046 0.321Visage 0.002 0.000

Library

Face-Id 0.000 0.007GMS 0.000 0.004NPD 0.043 0.179PICO 0.000 0.003VJ 0.055 0.212Visage 0.000 0.001

Office

Face-Id 0.000 0.000GMS 0.000 0.141NPD 0.015 0.568PICO 0.000 0.413VJ 0.102 0.592Visage 0.000 0.068

Bus-stop

Face-Id 0.001 0.000GMS 0.016 0.005NPD 0.407 0.340PICO 0.186 0.066VJ 0.389 0.337Visage 0.006 0.002

Medie

Face-Id 0.001 0.002GMS 0.004 0.041NPD 0.122 0.342PICO 0.046 0.151VJ 0.148 0.366Visage 0.002 0.018

Tabella 12: Valori di recall rispetto alla feature NDFC

Page 89: Thesis marco de_marco

.10. VALORI DI RECALL RISPETTOALLE SOGLIE DI OGNI FEATURE75

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.000 0.001GMS 0.015 0.000NPD 0.241 0.064PICO 0.117 0.004VJ 0.276 0.091Visage 0.001 0.001

Library

Face-Id 0.003 0.005GMS 0.004 0.000NPD 0.195 0.027PICO 0.003 0.000VJ 0.256 0.011Visage 0.000 0.001

Office

Face-Id 0.000 0.000GMS 0.141 0.000NPD 0.583 0.000PICO 0.413 0.000VJ 0.689 0.005Visage 0.068 0.000

Bus-stop

Face-Id 0.001 0.000GMS 0.016 0.005NPD 0.744 0.003PICO 0.251 0.001VJ 0.725 0.001Visage 0.006 0.001

Medie

Face-Id 0.001 0.001GMS 0.044 0.001NPD 0.441 0.024PICO 0.196 0.001VJ 0.486 0.027Visage 0.019 0.001

Tabella 13: Valori di recall rispetto alla feature L/NL

Page 90: Thesis marco de_marco

76 RISULTATI SPERIMENTALI SUL DATASET

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.001 0.000GMS 0.009 0.006NPD 0.240 0.066PICO 0.080 0.041VJ 0.289 0.078Visage 0.002 0.000

Library

Face-Id 0.007 0.000GMS 0.004 0.000NPD 0.221 0.001PICO 0.003 0.000VJ 0.267 0.000Visage 0.001 0.000

Office

Face-Id 0.000 0.000GMS 0.141 0.000NPD 0.578 0.005PICO 0.413 0.000VJ 0.646 0.049Visage 0.068 0.000

Bus-stop

Face-Id 0.001 0.000GMS 0.020 0.000NPD 0.725 0.022PICO 0.252 0.000VJ 0.699 0.027Visage 0.007 0.000

Medie

Face-Id 0.002 0.000GMS 0.043 0.002NPD 0.441 0.023PICO 0.187 0.010VJ 0.475 0.038Visage 0.020 0.000

Tabella 14: Valori di recall rispetto alla feature O/NO

Page 91: Thesis marco de_marco

.10. VALORI DI RECALL RISPETTOALLE SOGLIE DI OGNI FEATURE77

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.000 0.000GMS 0.015 0.000NPD 0.299 0.000PICO 0.117 0.000VJ 0.360 0.000Visage 0.001 0.000

Library

Face-Id 0.003 0.000GMS 0.004 0.000NPD 0.176 0.016PICO 0.003 0.000VJ 0.250 0.006Visage 0.000 0.000

Office

Face-Id 0.000 0.000GMS 0.131 0.010NPD 0.558 0.019PICO 0.388 0.019VJ 0.636 0.010Visage 0.068 0.000

Bus-stop

Face-Id 0.001 0.000GMS 0.016 0.000NPD 0.739 0.002PICO 0.250 0.001VJ 0.719 0.002Visage 0.006 0.000

Medie

Face-Id 0.001 0.000GMS 0.041 0.002NPD 0.443 0.009PICO 0.190 0.005VJ 0.491 0.004Visage 0.019 0.000

Tabella 15: Valori di recall rispetto alla feature Roll

Page 92: Thesis marco de_marco

78 RISULTATI SPERIMENTALI SUL DATASET

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.001 0.000GMS 0.015 0.000NPD 0.305 0.000PICO 0.121 0.000VJ 0.367 0.000Visage 0.002 0.000

Library

Face-Id 0.007 0.000GMS 0.004 0.000NPD 0.222 0.000PICO 0.003 0.000VJ 0.267 0.000Visage 0.001 0.000

Office

Face-Id 0.000 0.000GMS 0.141 0.000NPD 0.583 0.000PICO 0.413 0.000VJ 0.694 0.000Visage 0.068 0.000

Bus-stop

Face-Id 0.001 0.000GMS 0.020 0.000NPD 0.747 0.000PICO 0.252 0.000VJ 0.725 0.000Visage 0.007 0.000

Medie

Face-Id 0.002 0.000GMS 0.045 0.000NPD 0.464 0.000PICO 0.197 0.000VJ 0.513 0.000Visage 0.020 0.000

Tabella 16: Valori di recall rispetto alla feature YDIFF, soglia 0,5

Page 93: Thesis marco de_marco

.10. VALORI DI RECALL RISPETTOALLE SOGLIE DI OGNI FEATURE79

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.000 0.001GMS 0.006 0.009NPD 0.025 0.281PICO 0.017 0.104VJ 0.025 0.342Visage 0.000 0.002

Library

Face-Id 0.006 0.002GMS 0.000 0.004NPD 0.092 0.129PICO 0.001 0.002VJ 0.132 0.135Visage 0.001 0.000

Office

Face-Id 0.000 0.000GMS 0.141 0.000NPD 0.471 0.112PICO 0.413 0.000VJ 0.447 0.248Visage 0.068 0.000

Bus-stop

Face-Id 0.000 0.001GMS 0.009 0.012NPD 0.096 0.651PICO 0.015 0.237VJ 0.076 0.649Visage 0.001 0.006

Medie

Face-Id 0.001 0.001GMS 0.039 0.006NPD 0.171 0.293PICO 0.111 0.086VJ 0.170 0.344Visage 0.018 0.002

Tabella 17: Valori di recall rispetto alla feature YDIFF, soglia 0,1

Page 94: Thesis marco de_marco

80 RISULTATI SPERIMENTALI SUL DATASET

Video Detector Sotto soglia Sopra soglia

Coffee-shop

Face-Id 0.000 0.001GMS 0.009 0.006NPD 0.239 0.067PICO 0.096 0.025VJ 0.276 0.091Visage 0.001 0.001

Library

Face-Id 0.000 0.007GMS 0.004 0.000NPD 0.083 0.139PICO 0.002 0.001VJ 0.089 0.178Visage 0.000 0.001

Office

Face-Id 0.000 0.000GMS 0.000 0.141NPD 0.170 0.413PICO 0.063 0.350VJ 0.311 0.383Visage 0.005 0.063

Bus-stop

Face-Id 0.000 0.001GMS 0.011 0.010NPD 0.615 0.132PICO 0.212 0.040VJ 0.623 0.102Visage 0.006 0.001

Medie

Face-Id 0.000 0.002GMS 0.006 0.039NPD 0.277 0.188PICO 0.093 0.104VJ 0.325 0.189Visage 0.003 0.017

Tabella 18: Valori di recall rispetto alla feature RMSC