1. 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
Marco De Marco Dissertazione tesi October 3, 2016 1 / 26
2. Introduzione Descrizione progetto
Obiettivo
Sviluppare un dispositivo indossabile.
Migliori le interazioni sociali dei non vedenti.
Utilizzi tecniche di computer vision.
Informazioni ricercate
Numero dei soggetti nel campo visivo della videocamera.
Identit`a dei soggetti famigliari al non vedente.
Espressioni del volto dei soggetti inquadrati.
Marco De Marco Dissertazione tesi October 3, 2016 2 / 26
3. Introduzione Descrizione progetto
Vincoli dell’implementazione
Efficiente
Esecuzione in real time su un dispositivo dalla ridotta capacit`a a di
calcolo.
Non inficiare sull’autonomia operativa.
Efficace
Massimizzare il numero di facce individuate.
Minimizzare gli errori di rilevamento.
Marco De Marco Dissertazione tesi October 3, 2016 3 / 26
4. Introduzione Considerazioni iniziali
Propedeuticit`a algoritmo rilevamento facciale
Riconoscimento dell’identit`a del volto.
Analisi delle espressioni facciali.
Scelta algoritmi rilevamento facciale
Sviluppo nuovo algoritmo `e fuori portata.
Ricerca in letteratura dei possibili candidati.
Valutazione prestazioni algoritmi
Utilizzare video adatti al contesto applicativo.
Individuare criteri di valutazione coerenti agli obiettivi.
Marco De Marco Dissertazione tesi October 3, 2016 4 / 26
5. Introduzione Algoritmi selezionati
Viola-Jones - (VJ)
Ben conosciuto e studiato in letteratura.
Si basa su Integral Image, Ada Boost ed Attentional Cascade.
Utilizza feature di tipo Haar-like.
Si `e utilizzata l’implementazione di OpenCV.
Marco De Marco Dissertazione tesi October 3, 2016 5 / 26
6. Introduzione Algoritmi selezionati
Google Vision - (GMS)
Framework di object detection sviluppato da Google.
Integrato nei Google Mobile Services su dispositivi Android.
Utilizzo di emulatore Android a causa di vincoli di licenza.
Utilizzo del frame grabber di OpenCV per estrazione frame dai video.
Marco De Marco Dissertazione tesi October 3, 2016 6 / 26
7. Introduzione Algoritmi selezionati
Normalized Pixel Difference - (NPD)
Non usa Haar-like featrue ma differenza normalizzata dei pixel.
Garantisce invarianza di scala, ridotta complessit`a di calcolo ed `e
robusto alle brusche variazioni di luminosit`a.
Utilizza alberi decisionali per l’apprendimento.
Gli autori forniscono implementazione Matlab.
Marco De Marco Dissertazione tesi October 3, 2016 7 / 26
8. Introduzione Algoritmi selezionati
Pixel Intensity Comparison - (PICO)
Si basa sulla comparazione dell’intensit`a dei pixel.
Utilizza una cascata di classificatori binari.
Scansiona immagine in ogni posizione ragionevole e ad ogni scala.
Il codice sorgente `e messo a disposizione dagli autori.
Marco De Marco Dissertazione tesi October 3, 2016 8 / 26
9. Introduzione Algoritmi selezionati
Face Id - (Face-Id)
Prototipo di framework di rilevamento facciale basato su deep learing.
Sviluppato utilizzando C++, Lua ed Torch Tensor framework.
Incompatibilit`a con Windows 7: implementato in ambiente Linux.
Utilizzo del frame grabber di OpenCV per estrazione dei frame dai
video.
Marco De Marco Dissertazione tesi October 3, 2016 9 / 26
10. Introduzione Algoritmi selezionati
Visage SDK - (Visage)
Software commerciale di rilevamento facce sviluppato da Visage
Technologies.
Fornisce rappresentazione 2D e 3D per ogni faccia rilevata.
Individua i punti di interesse (punta del mento, punta del naso, angoli
delle labbra, ecc).
Utilizzo del frame grabber di OpenCV per estrazione dei frame dai
video.
Marco De Marco Dissertazione tesi October 3, 2016 10 / 26
11. Introduzione Dataset Video
Condizioni operative
Connesse all’utilizzo di dispositivi indossabili.
Distorsioni dovute al movimento.
Forti ed improvvise variazioni di luce.
Distorsioni dovute alle lenti grandangolari.
Possibili occlusioni nel campo visivo della videocamera.
Connesse al soggetto non vedente.
Mancanza di riscontro visivo sulla qualit`a dei filmati.
Deambulazione soggetta a scuotimenti e movimenti anomali.
Tendenza a tenere la testa bassa.
Influenze culturali.
Tendenza a non guardare direttamente la videocamera.
Marco De Marco Dissertazione tesi October 3, 2016 11 / 26
12. Introduzione Dataset Video
Problema
Mancanza di dataset specifici per il nostro contesto applicativo.
Soluzione
Utilizzare due dispositivi commerciali per creare un dataset apposito.
Polaroid Cube
Risoluzione 1920px × 1080px
Angolo visuale 124◦
SportXtreme GX9
Risoluzione 1280px × 720px
Angolo visuale 135◦
Girare le scene con l’aiuto di due soggetti non vedenti volontari.
Marco De Marco Dissertazione tesi October 3, 2016 12 / 26
13. Introduzione Dataset Video
Risultato
Original name Mnemonic name
2015 10 15 GX9 ISA 2 k 11to23s Coffee-shop
2015 11 12 GX9 MLA 1 b 12s Library
C06Isa 5 5 Office
CUBE ISA 5 1 14s Bus-stop
Caratteristiche principali
Name Resolution Camera Location # frames # faces
Coffee-shop 1280 × 720 GX9 Indoor 361 809
Library 1280 × 720 GX9 Indoor 361 1074
Office 1920 × 1080 CUBE Indoor 558 206
Bus-stop 1920 × 1080 CUBE Outdoor 448 1610
Marco De Marco Dissertazione tesi October 3, 2016 13 / 26
15. Introduzione Annotazioni
Annotazioni
Sono parte integrante del dataset.
I criteri di annotazione sono rigorosamente specificati.
Vengono fate a mano tramite un software specifico.
Coordinate bounding box.
Coordinate occhio destro.
Coordinate occhio sinistro.
Coordinate bocca.
Flag laterale booleano.
Flag occluso booleano.
Marco De Marco Dissertazione tesi October 3, 2016 15 / 26
16. Analisi risultati Accenno classificazione binaria
Possibili esiti classificatore binario
True Positive: identificazione
positiva corretta (faccia trovata
correttamente).
False Positive: identificazione
positiva non corretta (trovata
area senza facce).
False Negative: identificazione
negativa non corretta (faccia
non trovata).
True Negative: identificazione
negativa corretta (area
rimanente immagine).
Marco De Marco Dissertazione tesi October 3, 2016 16 / 26
17. Analisi risultati Protocollo di analisi
Per ogni frame k di un video, dati:
l’annotazione gj con j = 1 . . . n di k.
l’output di un detector di con i = 1 . . . m di k.
Calcolare IUAR(di , gj) =
area(di ∩gj )
area(di ∪gj )
Miglior assegnamento possibile tra gj e di con algoritmo Ungherese.
Regole di assegnamento:
True Positive se miglior assegnamento tra gj e di ha IUAR > 0.5.
False Positive se miglior assegnamento tra gj e di ha IUAR ≤ 0.5.
False Negative se gj non ha nessun assegnamento.
Sommare True Positive, False Positive e False Negative del frame a
quelli del video.
Marco De Marco Dissertazione tesi October 3, 2016 17 / 26
18. Analisi risultati Precision, Recall e FPPF
Precision: identificazioni positive corrette su tutte le identificazioni
positive.
TP
TP + FP
Recall: identificazioni positive corrette su tutte le vere positive.
TP
TP + FN
False Positive Per Frame: errore di rilevazione per frame medio.
FP
nf
nf numero frame video.
Marco De Marco Dissertazione tesi October 3, 2016 18 / 26
19. Analisi risultati Precision, Recall e FPPF
Method Sequence Precision Recall FPPF
Viola-Jones
Coffee-shop 0.129 0.367 5.543
Library 0.140 0.267 4.867
Office 0.031 0.709 8.197
Bus-stop 0.222 0.725 9.158
Average 0.132 0.513 7.196
GMS
Coffee-shop 0.364 0.015 0.058
Library 1.000 0.004 0.000
Office 0.387 0.141 0.082
Bus-stop 0.202 0.020 0.290
Average 0.284 0.021 0.114
NPD
Coffee-shop 0.228 0.305 2.319
Library 0.159 0.222 3.504
Office 0.256 0.583 0.625
Bus-stop 0.687 0.747 1.221
Average 0.376 0.489 1.735
Method Sequence Precision Recall FPPF
PICO
Coffee-shop 0.337 0.121 0.535
Library 0.030 0.003 0.266
Office 0.538 0.413 0.131
Bus-stop 0.202 0.020 0.290
Average 0.589 0.160 0.238
Face-Id
Coffee-shop 0.143 0.001 0.017
Library 0.889 0.007 0.003
Office − 0.0 0.0
Bus-stop 1.000 0.001 0.000
Average 0.611 0.003 0.004
Visage
Coffee-shop 0.043 0.002 0.125
Library 0.045 0.001 0.058
Office 0.137 0.068 0.158
Bus-stop 0.072 0.006 0.286
Average 0.087 0.007 0.163
Precision, Recall e False Positive Per Frame per i sei algoritmi scelti e su
ogni video.
Marco De Marco Dissertazione tesi October 3, 2016 19 / 26
26. Analisi risultati Precision, Recall e FPPF
Method Sequence Precision Recall FPPF
Viola-Jones
Coffee-shop 0.129 0.367 5.543
Library 0.140 0.267 4.867
Office 0.031 0.709 8.197
Bus-stop 0.222 0.725 9.158
Average 0.132 0.513 7.196
GMS
Coffee-shop 0.364 0.015 0.058
Library 1.000 0.004 0.000
Office 0.387 0.141 0.082
Bus-stop 0.202 0.020 0.290
Average 0.284 0.021 0.114
NPD
Coffee-shop 0.228 0.305 2.319
Library 0.159 0.222 3.504
Office 0.256 0.583 0.625
Bus-stop 0.687 0.747 1.221
Average 0.376 0.489 1.735
Method Sequence Precision Recall FPPF
PICO
Coffee-shop 0.337 0.121 0.535
Library 0.030 0.003 0.266
Office 0.538 0.413 0.131
Bus-stop 0.202 0.020 0.290
Average 0.589 0.160 0.238
Face-Id
Coffee-shop 0.143 0.001 0.017
Library 0.889 0.007 0.003
Office − 0.0 0.0
Bus-stop 1.000 0.001 0.000
Average 0.611 0.003 0.004
Visage
Coffee-shop 0.043 0.002 0.125
Library 0.045 0.001 0.058
Office 0.137 0.068 0.158
Bus-stop 0.072 0.006 0.286
Average 0.087 0.007 0.163
Gli algoritmi con una configurazione a met`a strada, come NPD, comunque
non ottengono valori soddisfacenti di precision e recall medi.
Marco De Marco Dissertazione tesi October 3, 2016 19 / 26
27. Analisi risultati Precision, Recall e FPPF
Problema
Prestazioni scadenti degli algoritmi in precision, recall e FPPF.
Individuare quali fattori influenzino negativamente le prestazioni.
Approfondimenti di analisi
Disegnare le curve ROC per capire punto di lavoro algoritmo.
Svolgere analisi di sensibilit`a su un insieme selezionato di feature.
Marco De Marco Dissertazione tesi October 3, 2016 20 / 26
28. Analisi risultati Curve ROC
Solo PICO ed NPD offrono un parametro di confidenza necessario per
tracciare curve ROC.
Marco De Marco Dissertazione tesi October 3, 2016 21 / 26
29. Analisi risultati Definizioni feature
Normalized Bounding Box Area - (NBBA): rapporto tra area
bounding box e area totale frame.
Normalized Distance of the bounding box From the Center of
the image - (NDFC): distanza tra centro bounding box e centro
frame, diviso raggio circonferenza circoscritta.
Lateral, Not Lateral flag - (L/NL): laterale se occhio pi`u lontano
non `e chiaramente visibile.
Occluded, Not Occluded flag - (O/NO): occlusa se `e parzialmente
coperta da corpi estranei.
Marco De Marco Dissertazione tesi October 3, 2016 22 / 26
30. Analisi risultati Definizioni feature
Roll angle - (Roll): l’angolo di rollio (stimato con posizione occhi).
Root Mean Square Contrast within the bounding box - (RMSC)
1
#B B
Iij − ¯I
2
Iij intensit`a del i-esimo j-esimo pixel del bounding box B
¯I media dell’intensit`a del bounding box
#B numero di pixel all’interno del bounding box
Marco De Marco Dissertazione tesi October 3, 2016 23 / 26
31. Analisi risultati Soglie feature
Scelta soglie
Numeriche: osservando distribuzione feature.
Categoriche: valore ideale (non laterale e non occluse).
NBBA NDFC Roll RMSC L/NL O/NO
Threshold τ 0.01 0.33 15 0.15 − −
Coffee-shop 80.34 26.94 86.47 72.93 47.23 76.14
Library 98.13 14.71 67.26 17.51 77.23 98.17
Office 37.86 20.87 95.32 43.69 91.26 92.23
Bus-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
Esempio distribuzione feature NBBA.
Coffee-shop Library Office Bus-stop
Marco De Marco Dissertazione tesi October 3, 2016 24 / 26
32. Analisi risultati Risultati analisi sensibilit`a
Recall media degli algoritmi calcolata sulle facce con valore di feature:
sotto e sopra la soglia di riferimento (feature numeriche).
uguale al valore (feature categoriche).
NBBA NDFC Roll RMSC L/NL O/NO
Metodo ≤ τ > τ ≤ τ > τ ≤ τ > τ ≤ τ > τ NL L NO O
Face-Id 0.001 0.001 0.001 0.002 0.001 0.000 0.000 0.002 0.001 0.001 0.002 0.000
GMS 0.006 0.039 0.004 0.041 0.041 0.002 0.006 0.039 0.044 0.001 0.043 0.002
NPD 0.304 0.160 0.122 0.342 0.443 0.009 0.277 0.188 0.441 0.024 0.441 0.023
PICO 0.054 0.143 0.046 0.151 0.190 0.005 0.093 0.104 0.196 0.001 0.187 0.010
VJ 0.364 0.149 0.148 0.366 0.491 0.004 0.325 0.189 0.486 0.027 0.475 0.038
Visage 0.002 0.018 0.002 0.018 0.019 0.000 0.003 0.017 0.019 0.001 0.020 0.000
NBBA: alcuni algoritmi ottengono risultati migliori con facce grandi, al-
tri con piccole. Pu`o essere spiegato con le configurazioni di default degli
algoritmi.
Marco De Marco Dissertazione tesi October 3, 2016 25 / 26
33. Analisi risultati Risultati analisi sensibilit`a
Recall media degli algoritmi calcolata sulle facce con valore di feature:
sotto e sopra la soglia di riferimento (feature numeriche).
uguale al valore (feature categoriche).
NBBA NDFC Roll RMSC L/NL O/NO
Metodo ≤ τ > τ ≤ τ > τ ≤ τ > τ ≤ τ > τ NL L NO O
Face-Id 0.001 0.001 0.001 0.002 0.001 0.000 0.000 0.002 0.001 0.001 0.002 0.000
GMS 0.006 0.039 0.004 0.041 0.041 0.002 0.006 0.039 0.044 0.001 0.043 0.002
NPD 0.304 0.160 0.122 0.342 0.443 0.009 0.277 0.188 0.441 0.024 0.441 0.023
PICO 0.054 0.143 0.046 0.151 0.190 0.005 0.093 0.104 0.196 0.001 0.187 0.010
VJ 0.364 0.149 0.148 0.366 0.491 0.004 0.325 0.189 0.486 0.027 0.475 0.038
Visage 0.002 0.018 0.002 0.018 0.019 0.000 0.003 0.017 0.019 0.001 0.020 0.000
L/NL: tutti algoritmi ottengo risultati migliori con facce non laterali (risul-
tato atteso).
Marco De Marco Dissertazione tesi October 3, 2016 25 / 26
34. Analisi risultati Risultati analisi sensibilit`a
Recall media degli algoritmi calcolata sulle facce con valore di feature:
sotto e sopra la soglia di riferimento (feature numeriche).
uguale al valore (feature categoriche).
NBBA NDFC Roll RMSC L/NL O/NO
Metodo ≤ τ > τ ≤ τ > τ ≤ τ > τ ≤ τ > τ NL L NO O
Face-Id 0.001 0.001 0.001 0.002 0.001 0.000 0.000 0.002 0.001 0.001 0.002 0.000
GMS 0.006 0.039 0.004 0.041 0.041 0.002 0.006 0.039 0.044 0.001 0.043 0.002
NPD 0.304 0.160 0.122 0.342 0.443 0.009 0.277 0.188 0.441 0.024 0.441 0.023
PICO 0.054 0.143 0.046 0.151 0.190 0.005 0.093 0.104 0.196 0.001 0.187 0.010
VJ 0.364 0.149 0.148 0.366 0.491 0.004 0.325 0.189 0.486 0.027 0.475 0.038
Visage 0.002 0.018 0.002 0.018 0.019 0.000 0.003 0.017 0.019 0.001 0.020 0.000
O/NO: tutti algoritmi ottengo risultati migliori con facce non occluse (risul-
tato atteso).
Marco De Marco Dissertazione tesi October 3, 2016 25 / 26
35. Analisi risultati Risultati analisi sensibilit`a
Recall media degli algoritmi calcolata sulle facce con valore di feature:
sotto e sopra la soglia di riferimento (feature numeriche).
uguale al valore (feature categoriche).
NBBA NDFC Roll RMSC L/NL O/NO
Metodo ≤ τ > τ ≤ τ > τ ≤ τ > τ ≤ τ > τ NL L NO O
Face-Id 0.001 0.001 0.001 0.002 0.001 0.000 0.000 0.002 0.001 0.001 0.002 0.000
GMS 0.006 0.039 0.004 0.041 0.041 0.002 0.006 0.039 0.044 0.001 0.043 0.002
NPD 0.304 0.160 0.122 0.342 0.443 0.009 0.277 0.188 0.441 0.024 0.441 0.023
PICO 0.054 0.143 0.046 0.151 0.190 0.005 0.093 0.104 0.196 0.001 0.187 0.010
VJ 0.364 0.149 0.148 0.366 0.491 0.004 0.325 0.189 0.486 0.027 0.475 0.038
Visage 0.002 0.018 0.002 0.018 0.019 0.000 0.003 0.017 0.019 0.001 0.020 0.000
Roll: tutti algoritmi ottengo risultati migliori con facce aventi scarso angolo
di rollio (risultato atteso).
Marco De Marco Dissertazione tesi October 3, 2016 25 / 26
36. Analisi risultati Risultati analisi sensibilit`a
Recall media degli algoritmi calcolata sulle facce con valore di feature:
sotto e sopra la soglia di riferimento (feature numeriche).
uguale al valore (feature categoriche).
NBBA NDFC Roll RMSC L/NL O/NO
Metodo ≤ τ > τ ≤ τ > τ ≤ τ > τ ≤ τ > τ NL L NO O
Face-Id 0.001 0.001 0.001 0.002 0.001 0.000 0.000 0.002 0.001 0.001 0.002 0.000
GMS 0.006 0.039 0.004 0.041 0.041 0.002 0.006 0.039 0.044 0.001 0.043 0.002
NPD 0.304 0.160 0.122 0.342 0.443 0.009 0.277 0.188 0.441 0.024 0.441 0.023
PICO 0.054 0.143 0.046 0.151 0.190 0.005 0.093 0.104 0.196 0.001 0.187 0.010
VJ 0.364 0.149 0.148 0.366 0.491 0.004 0.325 0.189 0.486 0.027 0.475 0.038
Visage 0.002 0.018 0.002 0.018 0.019 0.000 0.003 0.017 0.019 0.001 0.020 0.000
RMSC: NPD, PICO e VJ dimostrano minore sensibilit`a al contrasto, mentre
rimanenti algoritmi ottengono risultati peggiori con basso contrasto. Possi-
bile spiegazione: dovuto a meccanismo di insensibilit`a incorporato a livello
di feature. Non conosciamo i dettagli dei rimanenti algoritmi.
Marco De Marco Dissertazione tesi October 3, 2016 25 / 26
37. Analisi risultati Risultati analisi sensibilit`a
Recall media degli algoritmi calcolata sulle facce con valore di feature:
sotto e sopra la soglia di riferimento (feature numeriche).
uguale al valore (feature categoriche).
NBBA NDFC Roll RMSC L/NL O/NO
Metodo ≤ τ > τ ≤ τ > τ ≤ τ > τ ≤ τ > τ NL L NO O
Face-Id 0.001 0.001 0.001 0.002 0.001 0.000 0.000 0.002 0.001 0.001 0.002 0.000
GMS 0.006 0.039 0.004 0.041 0.041 0.002 0.006 0.039 0.044 0.001 0.043 0.002
NPD 0.304 0.160 0.122 0.342 0.443 0.009 0.277 0.188 0.441 0.024 0.441 0.023
PICO 0.054 0.143 0.046 0.151 0.190 0.005 0.093 0.104 0.196 0.001 0.187 0.010
VJ 0.364 0.149 0.148 0.366 0.491 0.004 0.325 0.189 0.486 0.027 0.475 0.038
Visage 0.002 0.018 0.002 0.018 0.019 0.000 0.003 0.017 0.019 0.001 0.020 0.000
RMSC: tutti algoritmi ottengono risultati migliori con facce in posizione
non centrale (risultato inatteso).
Effetti distorsioni pi`u marcate dovute alle lenti grandangolari per le facce in
posizioni pi`u periferiche.
Marco De Marco Dissertazione tesi October 3, 2016 25 / 26
38. Analisi risultati Risultati analisi sensibilit`a
Recall media degli algoritmi calcolata sulle facce con valore di feature:
sotto e sopra la soglia di riferimento (feature numeriche).
uguale al valore (feature categoriche).
NBBA NDFC Roll RMSC L/NL O/NO
Metodo ≤ τ > τ ≤ τ > τ ≤ τ > τ ≤ τ > τ NL L NO O
Face-Id 0.001 0.001 0.001 0.002 0.001 0.000 0.000 0.002 0.001 0.001 0.002 0.000
GMS 0.006 0.039 0.004 0.041 0.041 0.002 0.006 0.039 0.044 0.001 0.043 0.002
NPD 0.304 0.160 0.122 0.342 0.443 0.009 0.277 0.188 0.441 0.024 0.441 0.023
PICO 0.054 0.143 0.046 0.151 0.190 0.005 0.093 0.104 0.196 0.001 0.187 0.010
VJ 0.364 0.149 0.148 0.366 0.491 0.004 0.325 0.189 0.486 0.027 0.475 0.038
Visage 0.002 0.018 0.002 0.018 0.019 0.000 0.003 0.017 0.019 0.001 0.020 0.000
RMSC: possibile spiegazione dovuta a dimensioni maggiori facce in po-
sizione centrale, ma risultati feature NBBA smentiscono tale ipotesi.
Future analisi richieste.
Marco De Marco Dissertazione tesi October 3, 2016 25 / 26
39. Analisi risultati Conclusioni
Riflessioni finali
Tutti gli algoritmi hanno ottenuto pessime prestazioni nel nostro
contesto applicativo.
Il loro utilizzo per rilevare la quasi totalit`a di facce contenute in un
fotogramma `e impraticabile.
Si suggeriscono degli utilizzi alternativi:
Rilevamento facciale di persone che stanno per approcciare il soggetto
non vedente.
Rilevamento facciale di persone con cui il soggetto non vedente sta
attivamente interagendo come preludio dell’analisi delle espressioni
facciali.
Marco De Marco Dissertazione tesi October 3, 2016 26 / 26