2009-11-08 22 views
10

Sto conducendo una piccola ricerca sul rilevamento del volto e sul confronto per il mio articolo. Attualmente sto utilizzando il rilevamento rapido del volto basato su caratteristiche simili a haar basate su OpenCV in cascata (implementerò l'apprendimento in un secondo momento). Il prossimo passo è fare il confronto facciale. Esistono algoritmi noti? Sarà fantastico, se ci sono alcuni codici C#, spiegandoli o alcune dll che li implementano.Rivelazione di volti e confronto

risposta

8

Eigenfaces

per generare un insieme di eigenfaces, un grande insieme di immagini digitalizzate di umani facce, prese sotto la stessa illuminazione condizioni , sono normalizzati per allineare gli occhi e la bocca. Sono quindi tutti ricampionati con la stessa risoluzione di pixel . Eigenfaces può essere estratto dai dati dell'immagine tramite mezzo di uno strumento matematico chiamato analisi componenti principali (PCA).

Le eigenfaces può ora essere utilizzato per rappresentare facce nuove: possiamo proiettare un'immagine nuovo (media sottrattiva) sui eigenfaces e quindi registrare la che nuovo volto differisce dalla faccia media. Gli autovalori associati a ciascuna autenticità di rappresentano quanto le immagini di nel set di allenamento variano da all'immagine media in quella direzione. Noi perdiamo le informazioni proiettando l'immagine su un sottoinsieme degli autovettori, ma riduciamo al minimo questa perdita mantenendo quegli autovettori con gli autovalori più grandi .

Fisherfaces and Eigenfaces

Se i vostri volti non sono allineati, allora vi consiglio la lettura del seguente documento:

Support Vector Machines

Abstract: Presentiamo una basata su componenti metodo e due metodi globali per il riconoscimento facciale e valutarli con rispetto alla robustezza rispetto alle variazioni di posa . Nel sistema di componenti, per prima cosa individuare i componenti facciali, estraeteli e combinarli in un vettore di feature singola che è classificato da un Support Vector Machine (SVM).

I due sistemi globali riconoscono facce classificando un singolo vettore dei costituito dai valori di grigio dell'immagine faccia tutto il . Nel primo sistema globale abbiamo formato un singolo classificatore SVM per ogni persona nel database . Il secondo sistema è costituito da di set di classificatori SVM specifici del punto di vista e prevede il clustering durante l'allenamento.

1

C'è un sistema di valutazione da Beveridge.Hanno implementato tre algoritmi di riconoscimento del volto con metriche diverse. Gli algoritmi sono implementati per la valutazione , quindi potrebbe essere difficile usarli per i propri programmi.

Alcune API Java e collegamenti generali sono disponibili nel mio Question sul riconoscimento facciale.

6

Ho scritto un programma di tutorial e demo con codice sorgente libero per l'esecuzione di rilevamento dei volti e di riconoscimento facciale in tempo reale da una webcam (anche in OpenCV):

http://www.shervinemami.info/faceRecognition.html

+2

link non più funzionante. – prathumca

+1

prova http://www.shervinemami.info/faceRecognition.html – NoCakeNoCode