Sommario:
- Passaggio 1: accesso alla webcam
- Passaggio 2: identificazione del volto
- Passaggio 3: raccolta dei dati
- Passaggio 4: formazione
- Passaggio 5: riconoscimento facciale
- Passaggio 6: programmazione di Arduino
Video: Riconoscimento facciale e identificazione - Arduino Face ID utilizzando OpenCV Python e Arduino.: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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
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
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
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
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:
Abellcadabra (Sistema di blocco porta con riconoscimento facciale): 9 passaggi
Abellcadabra (Sistema di blocco della porta di riconoscimento facciale): Sdraiato durante la quarantena, ho cercato di trovare un modo per ammazzare il tempo costruendo il riconoscimento facciale per la porta di casa. L'ho chiamato Abellcadabra - che è una combinazione tra Abracadabra, una frase magica con campanello che prendo solo il campanello. LOL
Specchio per riconoscimento facciale con scomparto segreto: 15 passaggi (con immagini)
Specchio per il riconoscimento facciale con scomparto segreto: sono sempre stato incuriosito dagli scomparti segreti sempre creativi utilizzati in storie, film e simili. Così, quando ho visto il Secret Compartment Contest, ho deciso di sperimentare io stesso l'idea e creare uno specchio dall'aspetto ordinario che apra una s
Blocco porta riconoscimento facciale: 8 passaggi
Serratura della porta con riconoscimento facciale: circa un mese di lavoro, presento la serratura della porta con riconoscimento facciale! Ho cercato di renderlo il più ordinato possibile, ma posso farlo solo a 13 anni. Questa serratura per porta con riconoscimento facciale è gestita da un Raspberry Pi 4, con una speciale batteria portatile
Riconoscimento facciale in pratica: 21 passaggi
Riconoscimento facciale in pratica: Questo è un argomento che mi affascina così tanto, che mi fa perdere il sonno: Computer Vision, il rilevamento di oggetti e persone attraverso un modello pre-addestrato
Riconoscimento facciale Opencv: 4 passaggi
Riconoscimento facciale Opencv: il riconoscimento facciale è una cosa abbastanza comune al giorno d'oggi, in molte applicazioni come smartphone, molti gadget elettronici. Questo tipo di tecnologia coinvolge molti algoritmi e strumenti ecc. che utilizza alcune piattaforme SOC incorporate come il Raspberry