Domanda

Qualcuno può indicarmi la giusta direzione di alcune librerie di riconoscimento facciale & amp; algoritmi? Ho provato a cercare / cercare su Google, ma per lo più trovo questi aspetti e pochissimo software reale.

È stato utile?

Soluzione

Che ne dici di Eigenfaces ? Utilizza una semplice matematica per memorizzare autovettori riconoscibili del viso e ricostruire i volti utilizzando più vettori.

Il codice è disponibile anche in Python qui .

Altri suggerimenti

OpenCV è un'ottima libreria per la visione artificiale.

Ecco la pagina wiki OpenCV sul riconoscimento facciale .

Oltre a Eigenfaces, guarderei Fisherfaces. Ecco un documento accademico che confronta le prestazioni di entrambi gli algoritmi Eigenfaces vs. Fisherfaces . Mostra prestazioni migliori con Fisherfaces. Concordo anche con tfinniga che OpenCV vale il tuo tempo, l'ho usato prima per il rilevamento del viso.

Infine dovresti essere più specifico. Vuoi rilevare quando c'è un volto in un'immagine e quindi identificare dove o vuoi rilevare un volto specifico in un'immagine? Le soluzioni elencate qui sono per quest'ultima domanda. Se vuoi affrontare la prima domanda ti suggerisco di cercare in letteratura le caratteristiche di adaboost e haar.

Probabilmente non troverai molto software finito per il riconoscimento facciale. Se vuoi farlo, la tua migliore possibilità è implementare qualcosa che è nella tesi di qualcuno.

Circa 4 anni fa, qualcuno alla CMU, credo, ha scritto un algoritmo che è stato l'algoritmo di riconoscimento facciale di maggior successo che abbia mai visto ... Proverò a trovarlo per te, a meno che qualcun altro non sappia di cosa sto parlando circa.

Se non hai mai implementato il codice di visione artificiale prima, potresti essere in grado di affrontare il problema suddividendolo in un problema più semplice. Quante persone stai cercando? Se è un piccolo gruppo di persone, potrebbe funzionare un algoritmo di riconoscimento dello spazio colore? Se le persone hanno tonalità della pelle diverse e colori dei capelli diversi, potresti essere in grado di utilizzare il riconoscimento di base dello spazio colore per ottenere un buon risultato.

Altrimenti, sei pronto per un grande progetto.

EDIT: ecco un elenco di alcuni articoli della CMU che potrebbero indirizzarti nella giusta direzione

Se fossi in te, leggerei alcuni di quegli articoli e darei seguito ai riferimenti.

Ho scritto un intero tutorial e programma demo con codice sorgente gratuito per eseguire il rilevamento dei volti e il riconoscimento dei volti in tempo reale da una webcam (basato su Eigenfaces in OpenCV):

http://www.shervinemami.co.cc/faceRecognition.html

Questo tipo di attività viene generalmente eseguita tramite reti neurali. Questa è la tua direzione principale da guardare. Anche un tipo più specifico di rete da guardare è Kohonen Neural Network. È la rete di riconoscimento delle immagini più semplice, che può essere utilizzata anche nelle attività di riconoscimento facciale. Non otterrai buoni risultati usando SOLO questo tipo di rete, ma collegandone alcuni insieme. Non posso fornire maggiori dettagli, poiché lo so solo in teoria, ma non ho competenze pratiche in questo settore.

A proposito, non credo che troverai alcuna libreria per quell'attività, come al solito se hai una tale libreria - perché non creare un prodotto e venderlo?

Trovo Luxand Facesdk il migliore per il riconoscimento e l'identificazione dei volti.

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