Computer Vision Sviluppo di una applicazione come strumento di supporto per utenti tetraplegici Laureando: Roberto Valenti Relatore: prof. Massimo Ferri Correlatore: prof. Fabio Vitali
Computer VisionSviluppo di una applicazione
come strumento di supporto per utenti tetraplegici
Laureando: Roberto Valenti
Relatore: prof. Massimo Ferri
Correlatore:prof. Fabio Vitali
La situazione
• Società e tecnologia– L’informazione alla
base della società
• Disabilità e tecnologia– Aumento del divario tra
normodotati e disabili.
Cosa si vuole realizzare?
• Integrazione di utenti tetraplegici nella “Società dell’informazione”– Un sistema di puntamento innovativo– Un metodo di scrittura che non implichi la
pressione di tasti (attraverso OSK)
Cosa ci serve?
• Gestione di stream video dalla webcam
• Un veloce riconoscitore di volti
• Creazione di eventi sul sistema operativo target
Diagramma di Funzionamento
Controls
Events
Render
Realtime Stream Processing
Detection
Init
Fast Face Detection
• Componenti necessarie:– Immagini Integrali– Adaboost– Classificatori a Cascata
Classificatori
• Sono alberi decisionali con almeno due foglie
• “BUY NOW”, un esempio di classificatore per spam.
• Classificatori deboli e forti
• Classificatori basati sulle caratteristiche “Haar-Like”.
Caratteristiche “Haar-Like”
Problema:
• Ripetuti calcoli di somme di pixel compresi in aree rettangolari
• Aumento del costo computazionale
Soluzione: Immagini Integrali
Immagini Integrali
• A = 1• B = 2-1• C = 3-1• D = 4-A-B-C
• D = 4+1-(2+3)
Problema:
• Più di 180000 caratteristiche in ogni immagine
• Classificatori troppo complessi
Soluzione: AdaBoost
AdaBoost
• “BUY NOW”: una estensione
• Adaboost applicato ad immagini
Risultati Adaboost
Le prime due caratteristiche selezionate dall’ Adaboost mostrate in sovrapposizione ad un’immagine “positiva”
Problema:
• Ricerca in immagini più grandi di quelle di addestramento
• Ricerca in diverse scale
• Costo proibitivo della procedura
Soluzione: Classificatori a Cascata
Classificatori a cascata
All Sub-windows
T TT T
Reject Sub-window
F F F F
1 2 3 4
Dimostrazione e Conclusioni