Πίνακας περιεχομένων:

Αναγνώριση προσώπου και αναγνώριση - Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: 6 βήματα
Αναγνώριση προσώπου και αναγνώριση - Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: 6 βήματα

Βίντεο: Αναγνώριση προσώπου και αναγνώριση - Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: 6 βήματα

Βίντεο: Αναγνώριση προσώπου και αναγνώριση - Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: 6 βήματα
Βίντεο: ESP32-CAM erROR ENROLL Face Detection, Face Recognation (Subtittled) 2024, Ιούλιος
Anonim
Image
Image

Αναγνώριση προσώπου Το αναγνωριστικό προσώπου AKA είναι ένα από τα πιο σημαντικά χαρακτηριστικά στα κινητά τηλέφωνα στις μέρες μας.

Έτσι, είχα μια ερώτηση "μπορώ να έχω ένα αναγνωριστικό προσώπου για το έργο μου Arduino" και η απάντηση είναι ναι…

Το ταξίδι μου ξεκίνησε ως εξής:

Βήμα 1: Πρόσβαση στην κάμερα web

βήμα 2: Αναγνώριση προσώπου.

βήμα 3: Συλλογή δεδομένων

Βήμα 4: Εκπαίδευση

βήμα 5: Αναγνώριση προσώπου

βήμα 6: Προγραμματισμός Arduino

Θα εξηγήσω όλα τα βήματα παρακάτω. Ελπίζω ότι αυτό θα σας βοηθήσει.

Βήμα 1: Πρόσβαση στην κάμερα Web

Πρόσβαση στην κάμερα Web
Πρόσβαση στην κάμερα Web

Το 1ο βήμα για την αναγνώριση προσώπου ήταν να έχετε πρόσβαση σε κάμερα ή όραση υπολογιστή. Δεδομένου ότι η Ινδία βρίσκεται υπό αποκλεισμό, η φθηνότερη λύση που βρήκα ήταν να χρησιμοποιήσω την κάμερα υπολογιστών μου στην οποία είχα πρόσβαση με ένα πρόγραμμα python χρησιμοποιώντας μονάδα openCV.

Μπορεί να σκέφτεστε τι είναι το OpenCV, έτσι δεν είναι;

Το OpenCV (Open Source Computer Vision Library) είναι μια βιβλιοθήκη λογισμικού οπτικής και μηχανικής μάθησης ανοιχτού κώδικα. Το OpenCV δημιουργήθηκε για να παρέχει μια κοινή υποδομή για εφαρμογές υπολογιστικής όρασης και να επιταχύνει τη χρήση της αντίληψης μηχανών σε εμπορικά προϊόντα.

Εάν το Opencv είναι εγκατεστημένο στον υπολογιστή σας, τότε είστε έτοιμοι. Εάν όχι, ακολουθήστε αυτό το βήμα.

ανοίξτε τη γραμμή εντολών και πληκτρολογήστε "pip install opencv".

Προειδοποίηση: Ενδέχεται να εμφανιστεί σφάλμα καθώς το "" pip "δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή". για το οποίο πρέπει να προσθέσετε τη διαδρομή της εγκατάστασης του pip σας στη μεταβλητή συστήματος PATH. Περάστε από αυτήν την ανάρτηση μπορεί να σας βοηθήσει.

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

Μόλις εγκατασταθεί το OpenCV, κάνουμε καλό… Για να ελέγξετε αν έχει εγκατασταθεί σωστά, ανοίξτε τον διερμηνέα Python και εισαγάγετε τη βιβλιοθήκη. Δείτε την παραπάνω εικόνα που πρέπει να είναι η έξοδός σας.

Κατεβάστε το αρχείο python "AccessTo_webcam.py" και εκτελέστε το. Έχω δώσει όλα τα απαραίτητα σχόλια εκεί.

Ορίστε, Τώρα έχετε πρόσβαση στην κάμερα web. Μπράβο. ας προχωρήσουμε στο βήμα 2.

Βήμα 2: Αναγνώριση προσώπου

Αναγνώριση προσώπου
Αναγνώριση προσώπου

με τη βοήθεια της ίδιας μονάδας OpenCV, πρέπει να προσδιορίσουμε εάν υπάρχει πρόσωπο στη ροή βίντεο ή όχι.

Το OpenCV παρέχει μια μέθοδο κατάρτισης ή προ-εκπαιδευμένα μοντέλα που ονομάζονται Cascade Classifier. Τα προ-εκπαιδευμένα μοντέλα βρίσκονται στο φάκελο δεδομένων στην εγκατάσταση OpenCV. Παρέχω αυτό το αρχείο απλά κατεβάστε το και τοποθετήστε το στο φάκελο του έργου σας. Ο φάκελος στον οποίο είναι αποθηκευμένο το αρχείο "AccessTo_webcam.py". Εάν δεν έχετε δημιουργήσει ένα, κάντε το.

Κατεβάστε το "haarcascade_frontalface_default" και τοποθετήστε το στον κύριο φάκελο του έργου.

Κατεβάστε το "Face_identification.py" και τοποθετήστε το στον κύριο φάκελο του έργου. Όλη η εξήγηση παρέχεται σε αυτό.

Τώρα μπορείτε να προσδιορίσετε τα πρόσωπα σε μια ροή βίντεο. Ας προχωρήσουμε λοιπόν στο βήμα 3.

Βήμα 3: Συλλογή δεδομένων

Συλλογή δεδομένων
Συλλογή δεδομένων

Για να αναγνωρίσουμε τα πρόσωπα πρέπει να εκπαιδεύσουμε το πρόγραμμα python. Για τα οποία χρειαζόμαστε κάποια δεδομένα.

Η συλλογή δεδομένων είναι μάλλον το πιο εύκολο βήμα σε αυτό το έργο. δημιουργήστε ένα φάκελο με το όνομα "image_data" στον κύριο φάκελο του έργου σας. Μέσα στο φάκελο "image_data" δημιουργήστε μερικούς επιπλέον φακέλους με το όνομα του ατόμου, όπου θα αποθηκεύσουμε τα δεδομένα. για παράδειγμα:

Στο φάκελο "image_data" έχω δημιουργήσει δύο ακόμη φακέλους με το όνομα "HRK" και "Yahiya". όπως φαίνεται στην παραπάνω εικόνα.

Τώρα προχωρήστε, δημιουργήστε τους δικούς σας φακέλους και ονομάστε τους.

Μόλις δημιουργηθούν οι φάκελοι, αρχίστε να συλλέγετε εικόνες του συγκεκριμένου ατόμου. Προτείνω να συλλέξετε περίπου 20 εικόνες ανά άτομο. Μπορείτε επίσης να προσθέσετε περισσότερες εικόνες, αλλά φροντίστε τα δεδομένα που συλλέγονται για όλα τα άτομα να περιέχουν τον ίδιο αριθμό εικόνων. Βοηθά στην παροχή ακρίβειας.

αυτό είναι τώρα ας προχωρήσουμε στο βήμα 4.

Βήμα 4: Εκπαίδευση

Εν συντομία, θα περάσουμε από όλους τους φακέλους και τις εικόνες που υπάρχουν στον φάκελο "image_data" και θα δημιουργήσουμε ένα λεξικό που θα περιέχει το αναγνωριστικό ετικέτας και το αντίστοιχο όνομα. Ταυτόχρονα, θα φορτώσουμε την εικόνα για να ανιχνεύσουμε το πρόσωπο σε κάθε εικόνα που την αποκαλούμε "Περιοχή Ενδιαφέροντος" και θα δημιουργήσουμε ένα αρχείο ".yml" που περιέχει αυτές τις πληροφορίες.

Υποθέτοντας ότι έχετε συλλέξει δεδομένα για τα άτομα Χ και Υ.

θα επισημάνουμε το άτομο Χ ως 1 το οποίο θα είναι το αναγνωριστικό ετικέτας του και το όνομα θα είναι το ίδιο το Χ. Φορτώνουμε την εικόνα για να βρούμε το πρόσωπό του, δηλαδή την περιοχή ενδιαφέροντος και προσθέτουμε τα δεδομένα σε μια λίστα.

θα ακολουθηθούν παρόμοια βήματα για το άτομο Υ. Και τέλος, θα δημιουργήσουμε ένα αρχείο ".yml".

Κατεβάστε το αρχείο "face_trainer.py" και τοποθετήστε το στον κύριο φάκελο του έργου. Όλη η απαραίτητη εξήγηση παρέχεται στο ίδιο το αρχείο.

Όταν εκτελείτε αυτό το πρόγραμμα, θα περάσει από όλες τις εικόνες και θα δημιουργήσει δύο αρχεία με τα ονόματα "labels.pickle" και "trainner.yml". Τώρα έχετε εκπαιδεύσει το δικό σας μοντέλο. ας προχωρήσουμε λοιπόν στο βήμα 5.

Βήμα 5: Αναγνώριση προσώπου

Αναγνώριση προσώπου
Αναγνώριση προσώπου

Εάν έχετε περάσει σωστά από όλα τα βήματα, ίσως έχετε δημιουργήσει τα δικά σας εκπαιδευμένα δεδομένα. Τώρα θα χρησιμοποιήσουμε αυτά τα δεδομένα για αναγνώριση προσώπου.

Βασικά, θα φορτώσουμε τα εκπαιδευμένα μοντέλα μας στο αρχείο python, θα έχουμε πρόσβαση στην κάμερα και θα προσδιορίσουμε τα πρόσωπα στη ροή βίντεο και θα κάνουμε μια σύγκριση ή πρόβλεψη μεταξύ του τρέχοντος προσώπου που προσδιορίζεται στη ροή βίντεο και του μοντέλου που εκπαιδεύτηκε. εάν τα δεδομένα αντιστοιχίζονται τότε λέμε ότι το άτομο αναγνωρίζεται είναι τόσο απλό…

Κατεβάστε το "face_recognise.py" και εκτελέστε το. Όλες οι απαραίτητες πληροφορίες παρέχονται σε αυτό. Τώρα το πρόσωπό σας μπορεί να έχει αναγνωριστεί. εάν η ακρίβεια δεν είναι καλή, δοκιμάστε να ενημερώσετε τα δεδομένα. αν είστε όλοι καλά να πάτε, ας προχωρήσουμε στο βήμα 6/

Βήμα 6: Προγραμματισμός Arduino

Το τελευταίο και τελευταίο βήμα είναι ο προγραμματισμός του Arduino και η παροχή ενός τρόπου επικοινωνίας μεταξύ python και Arduino. Για επικοινωνία, χρησιμοποίησα το "Serial Communication". Μεταβείτε στο βίντεο που έχω συνδέσει παραπάνω για να βρείτε πώς λειτουργεί η σειριακή επικοινωνία και να δημιουργήσετε ένα. Θα βρείτε όλα τα απαιτούμενα αρχεία στην περιγραφή του βίντεο.

Αν έχετε περάσει από το βίντεο, επιτρέψτε μου να σας εξηγήσω τι έκανα. Όταν αναγνωριστεί το πρόσωπό μου, τότε το αναγνωριστικό ετικέτας είναι 2. Μόλις το αναγνωριστικό ετικέτας είναι 2, θα στείλω '1' ως σειριακά δεδομένα στο Arduino μου. Το οποίο θα ενεργοποιήσει το κύκλωμα κυνηγού LED μου. Εάν το αναγνωριστικό ετικέτας είναι διαφορετικό από 2, τότε θα στείλω '0' ως σειριακά δεδομένα, τα οποία θα απενεργοποιήσουν το κύκλωμα κυνηγού LED μου.

Κατεβάστε το αρχείο "ard_chaser.ino". Είναι ένα απλό πρόγραμμα εντοπισμού LED που χρησιμοποιεί σειριακή επικοινωνία.

Κατεβάστε απλώς το "face_recogniser1.py" που θα δημιουργήσει τη σειριακή επικοινωνία μεταξύ του Arduino και του προγράμματος python.

Ορίστε. Ελπίζω να μάθατε κάτι νέο. Εγγραφείτε στο κανάλι μου στο youtube για περισσότερα πράγματα που σχετίζονται με python και Arduino. Κοινοποιήστε το αν σας άρεσε. Συνεχίστε να υποστηρίζετε.

Σας ευχαριστώ.

Συνιστάται: