Upload
temp-temp
View
89
Download
0
Embed Size (px)
Citation preview
Rilevamento di facce in flussi video per l’ausilio ainon vedenti
Michele Vittori
Universita degli Studi di Trieste
8 marzo 2016
1/24
2/24
Introduzione
La tesi si inserisce in un progetto piu ampio.
I punti principali del progetto sono:
l’ausilio a interazioni sociali di soggetti non vedenti
mediante computer vision
implementata su di un dispositivo portatile
3/24
Problemi
Si e voluto implementare un dispositivo che permetta al nonvedente di iniziare la conversazione, riconoscendo personeconosciute o volti amichevoli.
Per rispondere a queste esigenze bisogna ricorrere a:
riconoscimento facciale
riconoscimento delle espressioni
Entrambi necessitano di un accurato rilevamento facciale a priori.
4/24
Machine Learning
Gli algoritmi di face detection rientrano nei problemi diclassificazione affrontati nel machine learning.
Con machine learning si indica il campo che si occupadi creare sistemi informatici che migliorinoautomaticamente fino a giungere alla risoluzione di unproblema assegnato sfruttando l’esperienza.
L’esperienza e un insieme di input e output desiderati. Prende ilnome di ground truth ed e:
Input = insieme di frame estratti da filmati
Output = informazioni su presenza, quantita e posizione difacce in ciascun frame
5/24
Face Detection
Nel corso di questa tesi sono stati presi in considerazione quattroalgoritmi di face detection, ridotti subito a tre.
Tali algoritmi sono:
Viola-Jones (VJ)
Zhu-Ramanan (escluso per lentezza computazionale)
Normalized Pixel Difference (NPD)
Pixel Intensity Comparison Organized in Decision Trees(PICO)
6/24
Contributo al progetto
Il contributo della tesi al progetto e stato:
La creazione di un dataset che rispecchi le criticita dovute alleparticolari condizioni di lavoro del dispositivo
Il confronto di tre diversi algoritmi di face detection su questodataset
7/24
Caratteristiche dei filmati
Cause principali delle caratteristiche cercate e replicate:
Criticita dovute al tipo di videocamera impiegato
Inquadrature storteMotion blur causato da movimenti bruschiOttiche grandangolari
Il tipo di situazione sociale desiderato
Ricerca di soggetti intenzionati ad interagire
Le difficolta per gli algoritmi di face detectionCondizioni di luce
Scarsa luceForte contrasto
Occultamento parziale dei voltiOrientamento dei volti
8/24
Acquisizione dei filmati
In seguito si sono effettuate le riprese con la collaborazione di nonvedenti:
Si e fatto indossare ai collaboratori non vedenti duevideocamere
Gx-9: Integrata nel ponte di un paio di occhialiCube: Appesa al collo
Si sono istruiti i non vedenti ed i collaboratori che hanno fattoda comparse su
Posizione e percorsiInizio di conversazione o meno, e da parte di chi
Si sono filmate varie scene di incontro in vari luoghi
L’uso delle comparse ha la duplice funzione di:
Maggior controllo su situazioni che avvengono
Presenza ripetuta di certi volti per successivi sviluppi di facerecognition
9/24
Elaborazione dei filmati
I filmati sono poi stati:
Tagliati per estrarre sequenze
Convertiti
Silenziati
Salvati e rinominati con una nomenclatura ed organizzazionechiara
Ruotati di 180◦ (CUBE)
Uniti (CUBE)
10/24
Scelta spezzoni
Di 120 spezzoni estratti, da almeno 300 frames ciascuno, si sonoscelti:
Casualmente: 6 spezzoni per un totale di piu di 5000frames e piu di 9000 voltiSemi-casualmente: 3 frammenti di 300/360 framesciascuno estratto da un insieme di spezzoni specifici perovviare alla mancanza di alcuni luoghi di ripresa dalla primaestrazione
Per un totale di 9 filmati di cui:
4 ripresi con Gx-9, 5 ripresi con CUBE5 ripresi da una collaboratrice, 4 dall’altra4 ripresi al chiuso, 5 all’aperto
11/24
Etichettatura
Si e usato il software Viper-GT:
Interfaccia grafica per
Definire le etichetteApplicarle
Converte le informazioni in un file.xgtf (xml ground truth file)
In questo modo le informazioni sonomemorizzate in stringhe facili damanipolare
Figura: L’interfaccia principaledel software e l’interfaccia perla definizione dello schema base
12/24
Test del dataset
Per confrontare gli algoritmi sul nostrodataset si e usato Matlab:
Il filmato analizzato vieneconvertito in una serie di frame
Il file .xgtf viene parsato in unamatrice analoga ai risultati delledetection
Viene fatta la detection frame perframe
I risultati delle detection vengonoconfrontati con il ground truth
I risultati vengono esposti in formagrafica e numerica
Figura: Esempio di confrontografico e di risultato numerico
13/24
Indici di giudizio
Innanzitutto e necessario definire come:
True positive (TP): caso in cui vi e riscontro tra una detectioned il ground truth
False positive (FP): caso in cui un’avvenuta detection noncorrisponde a nessun volto definito nel ground truth
False negative (FN): caso in cui non avvenga una detectiondove il ground truth definisce la presenza di un volto
Definiamo inoltre:
Precision (%): TPTP+FP · 100
Recall (%): TPTP+FN · 100
14/24
Analisi visiva dei risultati
Dal confronto della posizione delle detection con i volti annotatinel ground truth emerge che:
I true positive sono nella stessa area in frame successivi
I false positive non hanno continuita in frame successivi
Da questa considerazione si puo proporre un metodo per sfruttarela componente temporale per filtrare i false positive e quindicercare nei nostri confronti il metodo con il migliore recall ascapito della precision.
15/24
Analisi numerica
PICO ha ottenuto i migliori valori direcall. Una sua variante per ottenerepiu detection, “PICO alt”, ancoramigliori a scapito della precision.La precision di PICO non e moltodiversa dalla migliore di NPD.
E evidente la netta superiorita dellavideocamera CUBE sia in termini direcall che di precision.
Recall medio (%) Precision media (%)NPD 33.2928 27.2676
VJ 28.9759 17.2501
PICO 43.6984 24.869
PICO alt 53.7653 12.6236
Tabella: Recall e precision mediper i metodi confrontati
Recall medio (%) Precision media (%)CUBE 45.69401 20.0638
Gx-9 29.8495 13.9166
Tabella: Recall e precision mediper ciascuna videocamera
16/24
Caratteristiche dei filmati analizzati
Videocamera Luogo Caratteristiche Frames
A CUBE Esterno bar di farmaciaForte contrasto e controluce.Volti occlusi e laterali.Videocamera storta.
379
B CUBE Fermata dell’autobusMolti volti.Buona illuminazione, ma luce soffusa.
1138
C Gx-9 Biblioteca di giurisprudenzaMotion blur dovuto alla GX9.Illuminazione abbastanza buona.
1380
D CUBE Esterno edificio centraleOcclusioni parziali.Videocamera storta.
697
E CUBE Interno del bar H3Ambiente scuro.Movimenti bruschi.Molti volti occlusi o laterali
1200
F CUBE Interno della mensa C4Contrasto e controluce.Illuminazione abbastanza buona.Movimenti lenti.
838
G Gx-9 Interno del bar C4Contrasto e controluce.Illuminazione abbastanza buona.
360
H Gx-9 Interno del bar H3Ambiente scuro.Movimenti bruschi.Abbondanza di volti laterali.
300
I Gx-9 Fermata dell’autobus Buona illuminazione, ma luce “dura”. 360
17/24
Considerazioni sui valori di Recall
Oltre alle considerazioni sui migliorivalori di PICO e PICO alt, si puoosservare che:
I filmati che hanno dato peggioririsultati (A,D,E,H) presentano:
Forti contrasti e controluceInquadrature storte
In questi casi VJ ha dato risultatimigliori di NPD
NPD VJ PICO PICO altA 11.8881 14.6853 24.4755 31.8182
B 64.7938 52.2714 71.5182 77.3162
C 23.8527 16.1473 32.1813 50.8215
D 6.3624 11.4799 21.0235 35.1314
E 10.4646 17.3627 25.5748 36.6025
F 44.8276 40.9037 61.7122 67.1819
G 30.7787 28.9246 41.78 50.6799
H 5.96 8.99333 9.5302 19.0604
I 31.2572 18.6851 43.2526 53.5179
Tabella: Recall per i diversimetodi sui filmati testati
Figura: Frames estratti dai filmati che hanno dato i peggiori risultati
18/24
19/24
Considerazioni sui valori di Precision
NPD e il migliore in condizioniottimali (buona luce, immaginenitida)
VJ e il migliore sui filmati conbuona luce ma immagine“rumorosa”(Gx-9)
PICO e il migliore nei filmati dallecondizioni piu difficili
PICO alt e sempre peggiore diPICO
NPD VJ PICO PICO altA 4.6512 2.0076 4.9088 2.2671
B 55.2497 40.1977 51.1434 27.3525
C 10.5805 17.0659 12.305 6.7724
D 8.4715 3.5838 14.4762 7.8226
E 12.3136 8.4302 13.0352 7.7604
F 35.3991 13.3852 29.1082 18.4279
G 22.6983 27.9236 22.4287 11.4685
H 13.213 8.7811 23.355 17.1913
I 47.2125 46.2857 54.8246 29.8777
Tabella: Precision per i diversimetodi sui filmati testati
20/24
Conclusioni
In conclusione, si puo affermare che il dataset cosı creato e unvalido strumento per il confronto di metodi per la face detectionper non vedenti poiche:
I risultati sono coerenti:
Tutti gli algoritmi hanno performance in media peggiori suglistessi filmatiLe differenze di performance sono giustificate dallecaratteristiche degli algoritmi
I risultati sono sufficientemente diversi da quelli ottenuti sudataset non specifici da giustificarne l’adozione
21/24
Conclusioni
Inoltre:
L’algoritmo PICO ha presentato i risultati migliori in terminidi rapporto recall/precision
L’algoritmo PICO alt ha presentato migliori valori di recall maa costo di un maggiore costo computazionale ed una peggioreprecision che a sua volta deve venire migliorata con metodialternativi
La scelta della videocamera e importante
Non si sono rilevate differenze tra i risultati ottenuti sui filmatiacquisiti dalle due collaboratrici
22/24
Sviluppi futuri
Miglioramento face detection
Provare altri parametriAddestrare l’algoritmo sul nostro datasetMigliorare la precision provando ad implementare un filtraggiodei false positive basato sulla componente temporale
Implementazione del dispositivo
Implementazione di face recognitionImplementazione del riconoscimento delle espressioniScelta della piattaformaStudio del metodo di comunicazione dell’informazione al nonvedente
23/24
Si segnala inoltre che dal lavoro di questa tesi e stato tratto unarticolo sottoposto alla conferenza MIPRO 2016 dal titolo:
Computer Vision for the blind: a dataset forexperiments on face detection and recognition
Grazie
24/24