Attenzione: questa pagina è una traduzione automatica (automatica), in caso di dubbi fare riferimento al documento originale inglese. Ci scusiamo per l'inconveniente che ciò può causare.
TrackEye
Recensione TrackEye
- Nome della tecnologia: TrackEye
- link: http://www.codeproject.com/Articles/26897/TrackEye-Real-Time-Tracking-Of-Human-Eyes-Using-a
- Prezzo: gratuito
- Popolarità: vincitore del concorso "Migliore articolo C ++ / MFC di giugno 2008".
- Requisiti fisici minimi: Il paziente deve essere in grado di muovere gli occhi liberamente.
Descrizione dettagliata:
Gli occhi sono le caratteristiche più importanti del viso umano. Un uso così efficace dei movimenti oculari come tecnica di comunicazione nelle interfacce utente-computer può trovare posto in varie aree di applicazione.
Il tracciamento oculare e le informazioni fornite dalle caratteristiche oculari possono potenzialmente diventare un modo interessante di comunicare con un computer in un sistema di interazione uomo-computer (HCI). Pertanto, con questa motivazione, l'obiettivo di questo progetto è la progettazione di un software di tracciamento delle caratteristiche oculari in tempo reale.
Lo scopo del progetto è implementare un tracker eye-feature in tempo reale con le seguenti funzionalità:
- RealTime face tracking con invarianza di scala e rotazione
- Tracciare le aree degli occhi individualmente
- Monitoraggio delle caratteristiche oculari
- Individuazione della direzione dello sguardo
- Controllo remoto tramite movimenti oculari
Istruzioni per eseguire e ricostruire TrackEye
Estrai il file TrackEye_Executable.zip. Prima di eseguire TrackEye_636.exe, copiare i due file SampleHUE.jpg e SampleEye.jpg nella cartella C: \. Questi due file vengono utilizzati per gli algoritmi CAMSHIFT e Template-Matching.
Non ci sono altri passaggi che l'utente deve seguire per eseguire il software. Non ci sono dipendenze DLL poiché il software è stato creato con le DLL incluse staticamente.
Impostazioni da eseguire per eseguire un buon tracciamento
Impostazioni per il rilevamento di viso e occhi
Under TrackEye Menu --> Impostazioni del localizzatore.
- Fonte di ingresso: video
- Fare clic su Seleziona file e selezionare .. \ Avis \ Sample.avi
- Algoritmo di rilevamento volti: Haar Algoritmo di rilevamento volti
- Seleziona la casella di controllo "Traccia anche gli occhi"
- Algoritmo di rilevamento degli occhi: PCA adattivo
- Deseleziona "Controllo varianza"
- Numero di immagini del database: 8
- Numero di EigenEyes: 5
- Distanza massima consentita dallo spazio degli occhi: 1200
- Larghezza del viso / larghezza del modello oculare: 0,3
- Tipo di ColorSpace da utilizzare durante PCA: CV_RGB2GRAY
- Impostazioni per il rilevamento degli alunni
Seleziona "Traccia gli occhi nei dettagli", quindi seleziona "Rileva anche le pupille degli occhi". Fai clic sul pulsante "Regola parametri":
- Inserisci "120" come "Valore soglia"
- Fai clic su "Salva impostazioni" e quindi fai clic su "Chiudi"
- Impostazioni per Snake
Seleziona "Indica il contorno occhi usando i serpenti attivi". Fai clic sul pulsante "Impostazioni per serpente":
- Seleziona ColorSpace da utilizzare: CV_RGB2GRAY
- Seleziona Soglia semplice e inserisci 100 come "Valore soglia"
- Fai clic su "Salva impostazioni" e quindi fai clic su "Chiudi"
- sfondo
- Finora si è lavorato molto sul rilevamento degli occhi e prima del progetto i metodi precedenti sono stati attentamente studiati per determinare il metodo implementato. Possiamo classificare gli studi relativi all'occhio in due categorie principali, come elencato di seguito.
Approcci basati su attrezzature speciali
Questo tipo di studi utilizza l'attrezzatura necessaria che fornirà un segnale di qualche tipo che è proporzionale alla posizione dell'occhio nell'orbita. Vari metodi attualmente in uso sono elettrooculografia, oculografia a infrarossi, bobine di ricerca sclerale. Questi metodi sono completamente fuori dal nostro progetto.
Approcci basati sull'immagine
Approcci basati sull'immagine eseguono rilevamenti oculari sulle immagini. La maggior parte dei metodi basati sull'immagine tenta di rilevare gli occhi utilizzando le caratteristiche degli occhi. I metodi utilizzati finora sono metodi basati sulla conoscenza, metodi basati sulle caratteristiche (colore, gradiente), corrispondenza dei modelli semplice, metodi di aspetto. Un altro metodo interessante è la "corrispondenza del modello deformabile" che si basa sulla corrispondenza di un modello di occhio geometrico su un'immagine dell'occhio minimizzando l'energia del modello geometrico.
Implementazione di TrackEye
Il progetto implementato si basa su tre componenti:
- Rilevamento del volto: esegue il rilevamento del volto invariante su scala
- Rilevamento degli occhi: entrambi gli occhi vengono rilevati a seguito di questo passaggio
- Estrazione delle caratteristiche oculari: le caratteristiche degli occhi vengono estratte alla fine di questo passaggio
- Riconoscimento facciale
Nel progetto sono stati implementati due metodi diversi. Loro sono:
- Algoritmo di spostamento dei mezzi continuamente adattivo
- Metodo Haar Face Detection
- Algoritmo di spostamento medio adattivo continuo
- L'algoritmo Adaptive Mean Shift viene utilizzato per tracciare i volti umani e si basa su una solida tecnica non parametrica per scalare i gradienti di densità per trovare la modalità (picco) delle distribuzioni di probabilità chiamata algoritmo di spostamento medio. Man mano che i volti vengono tracciati in sequenze video, l'algoritmo di spostamento medio viene modificato per far fronte al problema della modifica dinamica delle distribuzioni di probabilità del colore. Lo schema a blocchi dell'algoritmo è riportato di seguito:
Metodo di rilevamento del volto di Haar
Il secondo algoritmo di rilevamento dei volti si basa su un classificatore che funziona con funzionalità Haar-Like (vale a dire una cascata di classificatori potenziati che funzionano con funzionalità simili a Haar). Prima di tutto viene allenato con alcune centinaia di viste campione di una faccia. Dopo che un classificatore è stato addestrato, può essere applicato a una regione di interesse in un'immagine di input. Il classificatore emette un "1" se è probabile che la regione mostri faccia e "0" in caso contrario. Per cercare l'oggetto nell'intera immagine, è possibile spostare la finestra di ricerca sull'immagine e controllare ogni posizione usando il classificatore. Il classificatore è progettato in modo tale da poter essere facilmente "ridimensionato" per poter trovare gli oggetti di interesse di dimensioni diverse, il che è più efficiente del ridimensionamento dell'immagine stessa.