Sommario:

Riconoscimento facciale e identificazione - Arduino Face ID utilizzando OpenCV Python e Arduino.: 6 passaggi
Riconoscimento facciale e identificazione - Arduino Face ID utilizzando OpenCV Python e Arduino.: 6 passaggi

Video: Riconoscimento facciale e identificazione - Arduino Face ID utilizzando OpenCV Python e Arduino.: 6 passaggi

Video: Riconoscimento facciale e identificazione - Arduino Face ID utilizzando OpenCV Python e Arduino.: 6 passaggi
Video: Face Recognition and Identification | Arduino Face ID using openCV python and Arduino. 2024, Dicembre
Anonim
Image
Image

Il riconoscimento facciale AKA Face ID è una delle funzionalità più importanti sui telefoni cellulari al giorno d'oggi.

Quindi, ho avuto una domanda "posso avere un face id per il mio progetto Arduino" e la risposta è sì…

Il mio viaggio è iniziato così:

Passaggio 1: accesso alla webcam

fase 2: Identificazione del volto.

fase 3: raccolta dati

Passaggio 4: formazione

passaggio 5: riconoscimento facciale

passo 6: Programmare Arduino

Spiegherò tutti i passaggi di seguito. Spero che questo ti aiuterà.

Passaggio 1: accesso alla webcam

Accesso alla webcam
Accesso alla webcam

Il primo passo per il riconoscimento facciale è stato l'accesso a una telecamera oa una visione artificiale. Dato che l'India è sotto blocco, la soluzione più economica che ho trovato è stata quella di utilizzare la webcam del mio computer a cui ho avuto accesso con un programma Python utilizzando il modulo openCV.

Potresti pensare che cos'è OpenCV, vero?

OpenCV (Open Source Computer Vision Library) è una libreria di software di visione artificiale e machine learning open source. OpenCV è stato creato per fornire un'infrastruttura comune per le applicazioni di visione artificiale e per accelerare l'uso della percezione della macchina nei prodotti commerciali.

Se Opencv è installato sul tuo computer, sei a posto. In caso contrario, segui questo passaggio.

apri il prompt dei comandi e digita "pip install opencv".

Avvertimento: potresti ricevere un errore in quanto "'pip' non è riconosciuto come comando interno o esterno". per cui è necessario aggiungere il percorso della propria installazione pip alla variabile di sistema PATH. Passa attraverso questo post ti può aiutare.

stackoverflow.com/questions/23708898/pip-i…

Una volta installato OpenCV, siamo a posto… Per verificare se è installato correttamente, apri il tuo interprete Python e importa la libreria. Guarda l'immagine sopra che dovrebbe essere il tuo output.

Scarica il file python "AccessTo_webcam.py" ed eseguilo. Ho fornito tutti i commenti necessari lì.

Ecco fatto, ora hai accesso alla webcam. Molto bene. passiamo al punto 2.

Passaggio 2: identificazione del volto

Identificazione del volto
Identificazione del volto

con l'aiuto dello stesso modulo OpenCV, dobbiamo identificare se c'è un volto sul flusso video o meno.

OpenCV fornisce un metodo di addestramento o modelli pre-addestrati chiamati Classificatore a cascata. I modelli pre-addestrati si trovano nella cartella dei dati nell'installazione di OpenCV. Sto fornendo quel file, basta scaricarlo e inserirlo nella cartella del progetto. La cartella in cui è archiviato il file "AccessTo_webcam.py". Se non ne hai creato uno, fallo.

Scarica "haarcascade_frontalface_default" e posizionalo nella cartella principale del progetto.

Scarica "Face_identification.py" e posizionalo nella cartella principale del progetto. Tutta la spiegazione è fornita in esso.

Ora puoi identificare i volti in un flusso video. Quindi procediamo al passaggio 3.

Passaggio 3: raccolta dei dati

Raccolta dati
Raccolta dati

Per riconoscere i volti abbiamo bisogno di addestrare il nostro programma Python. Per cui abbiamo bisogno di alcuni dati.

La raccolta dei dati è piuttosto il passo più semplice in questo progetto. crea una cartella denominata "image_data" nella cartella principale del tuo progetto. All'interno della cartella "image_data" creiamo alcune cartelle aggiuntive con il nome della persona, dove memorizzeremo i dati. per esempio:

Nella cartella "image_data" ho creato altre due cartelle denominate "HRK" e "Yahiya". come mostrato nell'immagine sopra.

Ora vai avanti crea le tue cartelle e dai loro un nome.

Una volta create le cartelle, inizia a raccogliere le immagini di quella persona specifica. Consiglio di raccogliere circa 20 immagini a persona. Puoi anche aggiungere più immagini ma assicurati che i dati raccolti per tutte le persone contengano lo stesso numero di immagini. Aiuta a fornire precisione.

questo è tutto ora passiamo al passaggio 4.

Passaggio 4: formazione

In breve, esamineremo tutte le cartelle e le immagini presenti nella cartella "image_data" e creeremo un dizionario che conterrà l'ID dell'etichetta e il nome corrispondente. Contemporaneamente caricheremo l'immagine per rilevare il volto in ogni immagine che chiamiamo "Regione di interesse" e creeremo un file ".yml" che contiene tali informazioni.

Supponendo che tu abbia i dati raccolti per la persona X e Y.

etichetteremo la persona X come 1 che sarà il suo ID etichetta e il nome sarà X stesso. Carichiamo l'immagine per trovare il suo volto, ad esempio Regione di interesse e aggiungiamo i dati a un elenco.

passi simili verranno seguiti per la persona Y. Infine, creeremo un file ".yml".

Scarica il file "face_trainer.py" e posizionalo nella cartella principale del progetto. Tutte le spiegazioni necessarie sono fornite in quel file stesso.

Quando esegui questo programma, esaminerà tutte le immagini e creerà due file denominati "labels.pickle" e "trainner.yml". Ora hai addestrato il tuo modello. quindi procediamo al passaggio 5.

Passaggio 5: riconoscimento facciale

Riconoscimento facciale
Riconoscimento facciale

Se hai eseguito correttamente tutti i passaggi, potresti aver creato i tuoi dati addestrati. Ora useremo quei dati per il riconoscimento facciale.

Fondamentalmente caricheremo i nostri modelli addestrati nel file python, accederemo alla nostra webcam e identificheremo i volti nel flusso video e faremo un confronto o una previsione tra il viso corrente identificato nel flusso video e il modello che è stato addestrato. se i dati sono abbinati allora diciamo che la persona è riconosciuta è proprio così semplice…

Scarica "face_recognise.py" ed eseguilo. In esso sono fornite tutte le informazioni necessarie. Ora il tuo viso potrebbe essere stato riconosciuto. se la precisione non è buona, prova ad aggiornare i dati. se sei a posto, procediamo al passaggio 6/

Passaggio 6: programmazione di Arduino

L'ultimo e ultimo passo è programmare Arduino, e fornire una modalità di comunicazione tra Python e Arduino. Per la comunicazione, ho usato "Comunicazione seriale". Scorri il video che ho linkato sopra per scoprire come funziona la comunicazione seriale e per stabilirne una. Troverai tutti i file necessari nella descrizione del video.

Se hai seguito il video, lascia che ti spieghi cosa ho fatto. Quando la mia faccia viene riconosciuta, l'ID dell'etichetta fornito è 2. Una volta che l'ID dell'etichetta è 2, invierò "1" come dati seriali al mio Arduino. Che accenderà il mio circuito chaser LED. Se l'ID dell'etichetta è diverso da 2, invierò '0' come dati seriali, che disattiverà il mio circuito chaser LED.

Scarica il file "ard_chaser.ino". È un semplice programma per l'inseguimento di LED che utilizza la comunicazione seriale.

Scarica allo stesso modo "face_recogniser1.py" che stabilirà la comunicazione seriale tra Arduino e il programma Python.

Ecco qua. Spero che tu abbia imparato qualcosa di nuovo. Iscriviti al mio canale youtube per altre cose relative a Python e Arduino. Condividi questo se ti è piaciuto. Continua a sostenere.

Grazie.

Consigliato: