rilevamento di facce in flussi video per l'ausilio ai non vedenti - presentazione

24
Rilevamento di facce in flussi video per l’ausilio ai non vedenti Michele Vittori Universit` a degli Studi di Trieste 8 marzo 2016 1/24

Upload: temp-temp

Post on 16-Feb-2017

82 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

Rilevamento di facce in flussi video per l’ausilio ainon vedenti

Michele Vittori

Universita degli Studi di Trieste

8 marzo 2016

1/24

Page 2: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 3: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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.

Page 4: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 5: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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)

Page 6: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 7: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 8: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 9: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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)

Page 10: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 11: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 12: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 13: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 14: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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.

Page 15: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 16: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 17: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 18: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

Figura: Frames estratti dai filmati che hanno dato i peggiori risultati

18/24

Page 19: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 20: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 21: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 22: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 23: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

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

Page 24: Rilevamento di facce in flussi video per l'ausilio ai non vedenti - Presentazione

Grazie

24/24