Face Recognition (OpenCV) con MySQL e PHP

3

Prima di tutto ho posto questa domanda su StackOverflow e ho votato per non essere membro del sito. Sto tentando la sorte se ora (più adatto a se immagino) e spero di non far scendere il voto anche da qui

Voglio sviluppare un'app di riconoscimento del volto che cerchi nel database un'immagine. Ho guardato un po 'di volte. Mi è piaciuto molto e voglio usarlo, ma il problema è che sto pensando di usare PHP per il back-end del server e OpenCV è in C ++. La mia app richiederà molta comunicazione tra PHP e C ++ e inoltre dovrò connettermi al database e recuperare le immagini da loro. Fondamentalmente quello che sto pensando di fare è:

  • PHP riceverà la richiesta che include il file immagine desiderato
  • PHP passerà questa immagine al mio codice C ++
  • C ++ cercherà nel database per trovare la persona
  • C ++ passerà il risultato a PHP
  • PHP restituirà il risultato al client

Tuttavia questo approccio mi rende davvero spaventato perché ci sono molte aree grigie per me su come farlo. Dovrei usare i socket per fare la comunicazione o l'IPC (POSIX Messaggi ecc se possibile) o dovrei usare interamente C ++ per il mio progetto (il server C ++ potrebbe essere molto difficile) o dovrei usare le estensioni PHP (non ne so quasi nulla). Come posso utilizzare OpenCV con un database e come posso eseguire una ricerca veloce (forse i valori hash per le immagini ritagliate in scala di grigi?). Devo anche rilevare i volti per addestrare alcune immagini per un utente che richiede anche i passaggi precedenti. Quali sono i suggerimenti che puoi dare? In che modo sarebbe più facile per me implementare questa applicazione? Scusami per il linguaggio e la domanda di struttura disorganizzata, ma sono davvero preoccupato per quasi tutto il progetto e voglio davvero farlo. Qualsiasi consiglio sarà apprezzato

    
posta mayy00 12.06.2014 - 07:30
fonte

1 risposta

4

Sembra che ci siano wrapper PHP per OpenCV, come OpenCV For PHP .

Ora, per la parte relativa al riconoscimento, penso che il modo migliore per andare sia utilizzare Artificial Neural Networks . Le RNA possono essere addestrate a identificare persone all'interno di immagini e sono più adatte perché possono gestire input relativamente incoerenti e produrre risultati relativamente stabili. Sembrano esserci implementazioni di ANN in PHP, come FANN . L'implementazione di una RNA dovrebbe anche essere abbastanza veloce (una volta addestrato, cioè) e rimuoverà la necessità di un database, a meno che non lo si utilizzi per altre cose e / o si mantenga la stessa rete neurale.

Ciò significherebbe che puoi scrivere la tua soluzione interamente in PHP.

Detto questo, la mia esperienza con i wrapper è che non sempre si ottengono tutti i gadget forniti dalla libreria originale, quindi con questo in mente, si potrebbe anche scegliere di avere PHP per gestire il front-end e quindi, usare C ++ come back end, che dovrebbe permetterti di sfruttare tutta la potenza di OpenCV (che potrebbe tornare utile per i futuri add-on).

Per quanto riguarda la comunicazione tra i due livelli, penso che usare la comunicazione standard del servizio web SOAP (per PHP e C / C ++ ) ti forniranno una soluzione robusta.

    
risposta data 12.06.2014 - 07:45
fonte

Leggi altre domande sui tag