Domanda

Mi chiedevo, come funziona esattamente il riconoscimento facciale? Poiché ognuno ha una faccia diversa, non puoi rilevare un volto "generale" o qualcosa del genere.

È stato utile?

Soluzione

Jun Zhang et al. (1997) indagano su tre distinti metodi di riconoscimento del viso applicabili alla visione artificiale, ciascuno un degno di nota di analisi statistica a sé stante:

1) Algoritmo Eigenface
2) corrispondenza elastica
3) NET di autoassociazione e classificazione

Il metodo Eigenface codifica la variazione statistica tra le immagini del viso usando una qualche forma di metodo di riduzione della dimensionalità (come PCA), in cui le differenze caratteristiche risultanti nello spazio delle caratteristiche non corrispondono necessariamente alle caratteristiche facciali isolate come occhi, orecchie e naso Parole, i componenti indispensabili del vettore di funzionalità non sono predeterminati).

La corrispondenza elastica genera grafici nodali (cioè modello wireframe) che corrispondono a specifici punti di contorno di una faccia, come gli occhi, il mento, la punta del naso, ecc., E il riconoscimento si basa su un confronto di grafici delle immagini con un database noto. Poiché i grafici delle immagini possono essere ruotati durante il processo di corrispondenza, questo sistema tende ad essere più robusto per una grande variazione nelle immagini.

Il riconoscimento netto di classificazione utilizza le stesse caratteristiche geometriche della corrispondenza elastica, ma fondamentalmente differisce essendo una tecnica di apprendimento automatico supervisionato (spesso coinvolgendo l'uso di macchine vettoriali di supporto).

Sebbene il rilevamento di auto -fazzo possa sottoperformare altri metodi quando la variazione dell'illuminazione o dell'allineamento facciale è grande, ha il vantaggio di essere facile da implementare, efficiente dal punto di vista computazionale e in grado di riconoscere i volti in modo non supervisionato e quindi tende ad essere uno standard di fatto. Molte tecniche di rilevamento all'avanguardia si basano anche su una qualche forma di riduzione della dimensionalità prima del riconoscimento, anche se l'estrazione del vettore di funzionalità viene gestita in modo diverso.

Altri suggerimenti

Qui puoi trovare la risposta: Riconoscimento facciale

Ogni faccia ha numerosi punti di riferimento distinguibili, i diversi picchi e valli che compongono caratteristiche facciali. Faceit definisce questi punti di riferimento come punti nodali. Ogni volto umano ha circa 80 punti nodali. Alcuni di questi misurati dal software sono:

* Distance between the eyes
* Width of the nose
* Depth of the eye sockets
* The shape of the cheekbones
* The length of the jaw line

Questi punti nodali vengono misurati creando un codice numerico, chiamato faceprint, che rappresenta il volto nel database.

Un buon modo per iniziare è leggendo l'analisi dei componenti principali (PCA noto anche come Eigenfaces), l'analisi discriminante lineare di Fisher (LDA) e le macchine vettoriali di supporto (SVMS). Questi sono metodi di classificazione estremamente utili per la classificazione del viso.

OpenCV include già eccellenti implementazioni di PCA e SVM. Una risorsa eccellente per il riconoscimento del volto e il codice di classificazione per OpenCV in C ++ è questo sito web.

Un sito Web che offre risorse e collegamenti agli articoli per i metodi più pertinenti per la classificazione facciale è Questo.

Un esempio ben spiegato di eigenfaces PCA e LDA con codice di esempio in MATLAB che è stato estremamente utile per il mio programma di classificazione della prima faccia è qui.

Questa è una materia complessa che richiede molto apprendimento. Ti suggerirei di iniziare guardando OpenCV - http://opencv.willowgarage.com/wiki/ - Una libreria per la visione artificiale con tutorial ecc. In parte si tratta di non tanto un "volto generale" ma di raccogliere funzionalità e quindi di eseguire una metrica - come quanto lontano o orientamento relativo di tali caratteristiche.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top