Tesina del corso di Visione e Percezione

Slides:



Advertisements
Presentazioni simili
Misure ed Errori Prof Valerio CURCIO.
Advertisements

LE FUNZIONI REALI DI VARIABILE REALE
Segmentazione delle immagini
Prof. Raimondo Schettini
Macchine di Percezione
Sistemi di Classificazione usando NCD
Scomposizione funzionale
Estendere i linguaggi: i tipi di dato astratti
Unità D2 Archivi e file.
Procedure e funzioni A. Ferrari.
L’iperbole Teoria e laboratorio
Tecniche di segmentazione delle patologie morfologiche dell’encefalo
Modulo 4 – terza ed ultima parte Foglio Elettronico Definire la funzionalità di un software per gestire un foglio elettronico Utilizzare le operazioni.
Controllo remoto di un robot mobile realizzato con Lego Mindstorms
Skin color classifier - 1 Il volto viene localizzato utilizzando un filtro di colore Il colore del volto appartiene ad un intervallo ben definito E possibile.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Lezione 7 Argomenti Effetto di reddito ed effetto di sostituzione
Modulo o Form in Html.
Apprendimento di funzioni algebriche
Campionamento di Immagini
Tesine per il corso visione e percezione: Struttura e temi.
BIOINGEGNERIA S. Salinari Lezione 4.
Scene Modelling, Recognition and Tracking
PLATES RECOGNITION Part II
“Riconoscimento di Facce”
Algoritmi per l’Image Alignment
Università degli studi La Sapienza CLS Ingegneria Informatica a.a. 2007/2008 Visione e Percezione Face Recognition Studenti: Andrea Pennisi Daniele Perrone.
“Riconoscimento Targhe Automobilistiche” Parte II: Clustering e Riconoscimento Caratteri (implementazione MATLAB) Studenti: Damaggio Elettra Firmani Donatella.
Apprendimento di movimenti della testa tramite Hidden Markov Model
Riconoscimento automatico di oggetti in immagini digitali
Analisi delle corrispondenze
Le nostre attività Consegna avviso Presentazione iniziale Attività didattiche Somministrazione dei test psico-attitudinali.
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
Elementi di Informatica
UN SISTEMA DI SUPPORTO ALLA DETERMINAZIONE DI ANOMALIE NEL TRAFFICO DI RETE Tesi di Laurea di: Luca VESCOVI Correlatori: Ing. Aldo Franco DRAGONI Ing.
INTRODUZIONE A MATLAB.
Le scale di proporzione
Università degli studi di Modena e Reggio Emilia
Elenco dei risultati di EBSCOhost tutorial. Benvenuti al tutorial relativo allelenco dei risultati di EBSCOhost. In questo tutorial verranno illustrate.
Per quanto riguarda il cuore dellapplicazione, cioè la parte di AI, abbiamo deciso di utilizzare un tipo di architettura che ci ha particolarmente attirato,
Concorrenza monopolistica
Lavagna interattiva Smart Board Installazione Presentazione
IPOTESI DI LAVORO GRUPPO n° 3: LEO, RIBATTEZZATO, ROSSI, SCIANGUETTA
IL PROBLEMA DELLO SCHEDULING
Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre Ottobre 2008.
Relatore Candidato Prof. Alessandro De Luca Daniele De Simone
Efficient Region- Based Image Retrieval di Roger Weber e Michael Mlivoncic Swiss Federal Institute of Technology (ETH) Presentazione di Laura Galli, Mauro.
Matematica della visione
Multimedia information retrieval. Problematica Materiale multimediale: non solo testo, ma audio (speech, musica..) immagini, video Retrieval basato su.
UNIVERSITÀ DI PISA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA PER LA GESTIONE D’AZIENDA Tesi di laurea: Progettazione.
Università degli Studi di Cagliari
La scomposizione col metodo di Ruffini
Gli indici di dispersione
Computer Vision Sviluppo di una applicazione come strumento di supporto per utenti tetraplegici Laureando: Roberto Valenti Relatore: prof. Massimo Ferri.
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
La ricorsione.
Misure ed Errori.
A proposito di spazio scala e di altre features locali... Elisabetta Delponte
Intelligenza Artificiale Reti Neurali
Informatica 4 La ricorsione. Definizione di ricorsione Ricorsione è la proprietà di quei programmi che, all’interno delle istruzioni che li compongono,
Analisi della similarità tra immagini.
CURE: AN EFFICIENT CLUSTERING ALGORITHM FOR LARGE DATABASES GRUPPO 12 Filippo Bindi Massimiliano Ceccarini Andrea Giuliodori PRESENTAZIONE Sistemi Informativi.
Sistemi di Gestione dei Dati e dei Processi Aziendali Computer-Assisted Audit Technique (CAAT)
M. De Cecco - Sensor Fusion: teoria ed applicazione alla percezione di sistemi robotici SLAM Simultanea localizzazione e mappatura di veicoli autonomi.
Selezione del volume dei polmoni M. Antonelli, B. Lazzerini, F. Marcelloni Dipartimento Ingegneria dell’Informazione Pisa.
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Grass-meeting Trento Implementazione di una procedura di estrazione dell’urbanizzato basata su classificazione multispettrale e morfologia matematica.
La funzione CASUALE. Gli istogrammi.
Le frazioni A partire da N vogliamo costruire un nuovo insieme numerico nel quale sia sempre possibile eseguire la divisione. Per fare ciò dobbiamo introdurre.
Studio di Funzioni Esempio funzione razionale fratta Giora Giulia
Transcript della presentazione:

Tesina del corso di Visione e Percezione Progetto Parte I: Riconoscimento di Facce Prof.ssa Fiora Pirri Tutor Stefano Marra, Matia Pizzoli Anno Accademico 2007/2008 Obiettivo: data un’immagine con diverse persone presenti, riconoscere i volti delle persone. Studenti: Ilaria Fedeli Francesco Rulli Federico Tozzi

Il Metodo di Viola-Jones Features di Haar Immagine Integrale Classificatore AdaBoost Cascata di Classificatori

Architettura dell’Applicazione (1)

Architettura dell’Applicazione (2) L’immagine viene introdotta in un modulo di skin-detection. Il risultato è l’immagine segmentata in due cluster, in cui i pixel considerati come pelle sono lasciati al loro valore originale mentre i pixel considerati come altro da pelle sono posti a zero. L’immagine clusterizzata entra nel modulo First Detection. Dapprima viene eseguito il cleaning filter sull’immagine ed in seguito viene effettuata una suddivisione dell’immagine in diverse regioni in cui vi sono le possibili facce. Le regioni in uscita dal modulo First Detection vengono immesse nel modulo Second Detection. A questo punto il classificatore AdaBoost viene applicato ad esse per individuare le facce. Infine avviene l’ultima e definitiva estrazione di facce con l’eliminazione dei rilevamenti multipli.

Scelte Implementative (1) La prima scelta implementativa è stata quella di introdurre il modulo First Detection all’uscita del modulo Skin-Detection. Questo perché la Skin-Detection lascia inalterati eventuali effetti di occlusione sull’immagine. L’elaborazione dell’immagine è stata effettuata con l’ausilio del modulo cleaning filter costituito dalla seguente cascata di filtri: rgb2gray imfill strel medfilt2 imdilate imopen im2bw bwlabel

Scelte Implementative (2) output skin-detection output imfill output medfilt2 output imdilate

Scelte Implementative (3) output imopen output im2bw output bwlabel output first detection

Scelte Implementative (4) Se avessimo applicato l’estrazione delle regioni, su cui poi effettuare la Second Detection, direttamente sull’immagine della Skin-Detection avremmo avuto questo risultato, a cui non si sarebbe potuto applicare AdaBoost:

Scelte Implementative (5) Altre scelte implementative sono state: L’estrazione delle features è stata suddivisa in due modalità: quella riguardante la fase di training e quella relativa alla vera e propria detection. Infatti nella fase di training abbiamo avuto bisogno di calcolare tutti e quattro i possibili tipi di features mentre nella fase di detection è sufficiente estrarre solo le features che compongono il classificatore forte. Il nostro classificatore forte è stato rappresentato con una struttura denominata adaboost_train. Essa contiene tre campi: weak_learners; acc; alphas. Abbiamo implementato il generico weak learner come un percettrone e abbiamo calcolato la soglia  come risultato dell’algoritmo di apprendimento del percettrone di Rosenblatt. All’interno di una regione, per individuare le possibili facce presenti, effettuiamo uno scanning della regione stessa mediante una finestrella di scala e posizione differenti fino a coprire l’intera regione.

Implementazione del sistema Software matlab Albero delle chiamate Face_Detection.m A - GUI DI AVVIO Detections.m skin_detection.m B – SKIN DETECTION faces_firstExtraction.m faces_secondExtraction.m C – FIRST DETECTION for i=1:regioni trovate D – SECOND DETECTION find_faces.m delete_multiple_detections.m

Integrazione della Detenzione Multipla Inizialmente dato che attraverso la Skin-Detection riuscivamo ad isolare le persone abbiamo scelto una tecnica di integrazione dei rilevamenti multipli elementare: veniva selezionato il riquadro più grande. Tale metodo risulta essere affetto da due criticità: non riesce a considerare più facce all’interno di una regione e non elimina i falsi positivi. Per ovviare a ciò abbiamo scelto la seguente tecnica di integrazione dei rilevamenti multipli: tutti i riquadri all’interno di una regione sono stati clusterizzati. La clusterizzazione è stata effettuata mediante una misura di distanza. Due riquadri sono accorpati nello stesso cluster se la distanza tra i due punti, appartenenti ai due riquadri, in alto a sinistra è minore di una certa soglia. In seguito per ciascun cluster viene selezionato il riquadro più grande. Inoltre se un cluster è formato da un solo elemento, ovvero riquadro, questo viene considerato come un falso positivo e quindi scartato.

I passaggi del nostro sistema

Risultati (1) Durante lo sviluppo del progetto sono stati addestrati diversi classificatori forti, ognuno caratterizzato da un certo numero di features, weak learner e immagini test. Per valutare le perfomance dei nostri classificatori abbiamo adottato, come misura d’errore, l’accuratezza di seguito così definita: dove N è il numero di esempi positivi e negativi, xi è l’i-esimo esempio, yi è l’etichetta dell’i-esimo esempio, H è il risultato del classificatore forte.

Risultati (2) Di seguito le curve test dell’accuracy e dei quattro classificatori addestrati: strong classifier con 10 iterazioni, weak learners, 9000 features e 200 immagini strong classifier con 40 iterazioni, weak learners, 9000 features e 600 immagini strong classifier con 60 iterazioni, weak learners, 9000 features e 2000 immagini strong classifier con 80 iterazioni, weak learners, 9000 features e 3000 immagini

Risultati (3) Di seguito il grafico dei parametri alpha in funzione delle features selezionate ad ogni passo, e il grafico dell’errore di classificazione di ciascuna features:

Risultati Positivi (1)

Risultati Positivi (2)

Risultati positivi (3)

Risultati positivi (4)

Risultati negativi (1)

Risultati negativi (2)

Riferimenti [1] Paul Viola e Michael J. Jones, Robust Real-Time Face Detection. [2] per adaboost sono state riprese e modificate le funzioni sul sito http://www.ics.uci.edu/~smyth/courses/cs175/projectcode/ [3] per la skin detection è stata ripresa l’implementazione sul sito http://www.dis.uniroma1.it/~visiope/Tesine2005.htm Maurizio Conventi, Mauro Manzo, Simone Antonio Gaetani. [4] per la costruzione del cleaning filter ci siamo ispirati al sito http://webeng.cs.ait.ac.th/cvwiki/matlab:tutorial:detectface e a Roberto Aloi, Face Detection Techniques based on k-means clustering and image filtering. [5] Julien Meynet, Fast Face Detection Using AdaBoost.