Πίνακας περιεχομένων:
- Βήμα 1: Πράγματα που χρειάζεστε
- Βήμα 2: Εισαγωγή και Εγκατάσταση
- Βήμα 3: Ανίχνευση και αναγνώριση προσώπου σε βίντεο σε πραγματικό χρόνο
- Βήμα 4: Εκτέλεση του κώδικα
Βίντεο: Opencv Αναγνώριση προσώπου: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Η αναγνώριση προσώπου είναι κάτι πολύ συχνό στις μέρες μας, σε πολλές εφαρμογές όπως έξυπνα τηλέφωνα, πολλά ηλεκτρονικά gadget. Αυτό το είδος τεχνολογίας περιλαμβάνει πολλούς αλγόριθμους και εργαλεία κλπ. Που χρησιμοποιεί ενσωματωμένες ενσωματωμένες πλατφόρμες SOC όπως το Raspberry Pi και την ανοιχτή πηγή υπολογιστή βιβλιοθήκες όπως το OpenCV, μπορείτε τώρα να προσθέσετε αναγνώριση προσώπου στις δικές σας εφαρμογές όπως, συστήματα ασφαλείας.
Σε αυτό το έργο, θα σας πω πώς να δημιουργήσετε μια αναγνώριση προσώπου χρησιμοποιώντας ένα Raspberry Pi και χρησιμοποιήσαμε το arduino+Lcd για να εμφανίσετε το όνομα του ατόμου.
Βήμα 1: Πράγματα που χρειάζεστε
1. ΡΑΣΠΕΡΙ ΠΙ
2. ARDUINO UNO / NANO
3.16x2 lCD DISPLAY
4. RASPI-CAMERA / WEBcam (προτιμώ την κάμερα web για καλύτερα αποτελέσματα)
Βήμα 2: Εισαγωγή και Εγκατάσταση
Το OpenCV (βιβλιοθήκη οπτικού υπολογιστή ανοιχτού κώδικα) είναι μια πολύ χρήσιμη βιβλιοθήκη - παρέχει πολλές χρήσιμες δυνατότητες όπως αναγνώριση κειμένου, αναγνώριση προσώπου, ανίχνευση αντικειμένων, δημιουργία χαρτών βάθους και μηχανική εκμάθηση.
Αυτό το άρθρο θα σας δείξει πώς να εγκαταστήσετε το Opencv και άλλες βιβλιοθήκες στο Raspberry Pi που θα σας φανούν χρήσιμες όταν κάνετε ανίχνευση αντικειμένων και άλλα έργα. Από εκεί, θα μάθουμε πώς να εκτελούμε λειτουργίες εικόνας και βίντεο εκτελώντας ένα έργο αναγνώρισης αντικειμένων και μηχανικής μάθησης. Συγκεκριμένα, θα γράψουμε έναν απλό κώδικα για τον εντοπισμό προσώπων σε μια εικόνα.
Τι είναι το OpenCV;
Το OpenCV είναι μια βιβλιοθήκη λογισμικού οπτικής και μηχανικής μάθησης ανοιχτού κώδικα. Το OpenCV κυκλοφορεί με άδεια BSD καθιστώντας το δωρεάν τόσο για ακαδημαϊκή όσο και για εμπορική χρήση. Διαθέτει διεπαφές C ++, Python και Java και υποστηρίζει Windows, Linux, Mac OS, iOS και Android. Το OpenCV σχεδιάστηκε για υπολογιστική αποδοτικότητα και έμφαση σε εφαρμογές σε πραγματικό χρόνο.
Πώς να εγκαταστήσετε το OpenCV σε ένα Raspberry Pi;
Για να εγκαταστήσουμε το OpenCV, πρέπει να έχουμε εγκατεστημένο το Python. Δεδομένου ότι τα Raspberry Pis είναι προφορτωμένα με Python, μπορούμε να εγκαταστήσουμε απευθείας το OpenCV.
Πληκτρολογήστε τις παρακάτω εντολές για να βεβαιωθείτε ότι το Raspberry Pi είναι ενημερωμένο και να ενημερώσετε τα εγκατεστημένα πακέτα στο Raspberry Pi στις πιο πρόσφατες εκδόσεις.
sudo apt-get updatesudo apt-get upgrade
Πληκτρολογήστε τις ακόλουθες εντολές στο τερματικό για να εγκαταστήσετε τα απαιτούμενα πακέτα για το OpenCV στο Raspberry Pi.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Πληκτρολογήστε την ακόλουθη εντολή για να εγκαταστήσετε το OpenCV 3 για Python 3 στο Raspberry Pi σας, το pip3 μας λέει ότι το OpenCV θα εγκατασταθεί για το Python 3.
sudo pip3 εγκαταστήστε το opencv-contrib-python libwebp6
Τώρα, πρέπει να εγκατασταθεί το OpenCV.
(εάν παρουσιάστηκαν σφάλματα: μπορείτε ακόμα να το κάνετε ακολουθώντας τον παρακάτω σύνδεσμο
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Τώρα μην βιαστείτε πρέπει να το ελέγξουμε αν έχει εγκατασταθεί σωστά ή όχι
Δοκιμάστε το opencv σας με:
1. μεταβείτε στο τερματικό σας και πληκτρολογήστε "python"
2. στη συνέχεια πληκτρολογήστε "εισαγωγή cv2".
3. τότε πληκτρολογήστε "cv2._ version_".
στη συνέχεια, εγκαταστήστε αυτές τις βιβλιοθήκες
pip3 εγκατάσταση python-numpy
pip3 εγκαταστήστε python-matplotlib
Δοκιμή κώδικα για τον εντοπισμό προσώπων σε μια εικόνα:
εισαγωγή cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread («το όνομα του αρχείου σας») #example cv2.imread («home/pi/Desktop/filename.jpg»)
θα πάρετε την έξοδο σαν να σχηματίστηκαν τετράγωνα κουτιά στα πρόσωπα των ανθρώπων που είναι στην εικόνα.
Βήμα 3: Ανίχνευση και αναγνώριση προσώπου σε βίντεο σε πραγματικό χρόνο
εισαγωγή cv2
εισαγωγή numpy ως np
εισαγωγή os
σειρά εισαγωγής
ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 μπορεί να αλλάξει στην περίπτωσή σας, εξαρτάται από το arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
αναγνωριστής = cv2.face.createLBPHFaceRecognizer ()
εικόνες =
ετικέτες =
για το όνομα αρχείου στο os.listdir ('Dataset'):
im = cv2.imread ('Dataset/'+όνομα αρχείου, 0)
images.append (im)
labels.append (int (όνομα αρχείου.split ('.') [0] [0]))
#print όνομα αρχείου
names_file = open ('labels.txt')
ονόματα = names_file.read (). split ('\ n')
αναγνωριστικό. τρένο (εικόνες, np.array (ετικέτες))
εκτύπωση «Η εκπαίδευση ολοκληρώθηκε. Το Το '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # η συσκευή σας βίντεο
lastRes = "" count = 0
ενώ (1):
_, frame = cap.read ()
γκρι = cv2.cvtColor (πλαίσιο, cv2. COLOR_BGR2GRAY)
πρόσωπα = faceCascade.detectMultiScale (γκρι, 1,3, 5)
μέτρηση+= 1
για (x, y, w, h) στα πρόσωπα:
cv2. ορθογώνιο (πλαίσιο, (x, y), (x+w, y+h), (255, 0, 0), 2)
αν μετράει> 20: res = ονόματα [αναγνωριστής. πρόβλεψη (γκρι [y: y+h, x: x+w])-1]
αν res! = lastRes:
lastRes = res
εκτύπωση lastRes
ser.write (lastRes)
μέτρηση = 0
Διακοπή
cv2.imshow («πλαίσιο», πλαίσιο)
k = 0xFF & cv2.waitKey (10)
αν k == 27:
Διακοπή
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Βήμα 4: Εκτέλεση του κώδικα
1. Κάντε λήψη των αρχείων που επισυνάπτονται στο προηγούμενο βήμα
2. αντιγράψτε τις γκρι φωτογραφίες σας (6 εικόνες/ δείγματα…..) στο φάκελο δεδομένων σας
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (αριθμός εικόνας σετ δεδομένων για πιο ανοιχτό φάκελο δεδομένων)
2. Μπραντ Πιτ-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Λέων-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6
όπως τα παραπάνω, μπορείτε να προσθέσετε τις ετικέτες για τα αντίστοιχα άτομα,
οπότε αν το pi ανιχνεύσει οποιοδήποτε πρόσωπο μεταξύ 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, τότε χαρακτηρίστηκε ως Τομ Κρουζ, οπότε προσέξτε κατά τη μεταφόρτωση των φωτογραφιών ………………
και, στη συνέχεια, συνδέστε το arduino με το βατόμουρό σας Pi και κάντε αλλαγές στο main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. εισαγάγετε όλα τα ληφθέντα αρχεία (main.py, φάκελος δεδομένων, haarcascade_frontalface_default.xml σε έναν φάκελο.)
3. Τώρα ανοίξτε το Raspi-terminal εκτελέστε τον κώδικά σας από το "sudo python main.py"
Συνιστάται:
Opencv Ανίχνευση προσώπου, εκπαίδευση και αναγνώριση: 3 βήματα
Opencv Face Detection, Training and Recognition: Το OpenCV είναι μια βιβλιοθήκη ανοιχτού κώδικα οράσεως υπολογιστή, η οποία είναι πολύ δημοφιλής για την εκτέλεση βασικών εργασιών επεξεργασίας εικόνας, όπως θόλωση, ανάμειξη εικόνας, βελτίωση εικόνας καθώς και ποιότητα βίντεο, κατώφλι κ.λπ. Εκτός από την επεξεργασία εικόνας, αποδεικνύει
Αναγνώριση προσώπου και αναγνώριση - Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: 6 βήματα
Αναγνώριση προσώπου και αναγνώριση | Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: Αναγνώριση προσώπου Το αναγνωριστικό προσώπου AKA είναι ένα από τα πιο σημαντικά χαρακτηριστικά στα κινητά τηλέφωνα στις μέρες μας. Έτσι, είχα μια ερώτηση " μπορώ να έχω ένα αναγνωριστικό προσώπου για το έργο μου στο Arduino " και η απάντηση είναι ναι … Το ταξίδι μου ξεκίνησε ως εξής: Βήμα 1: Πρόσβαση σε εμάς
Αναγνώριση Προσώπου στην Πρακτική: 21 Βήματα
Αναγνώριση προσώπου στην πράξη: Αυτό είναι ένα θέμα για το οποίο είμαι τόσο γοητευμένος, που με κάνει να χάνω τον ύπνο: Όραση υπολογιστή, ανίχνευση αντικειμένων και ανθρώπων μέσω ενός προ-εκπαιδευμένου μοντέλου
Κουδούνι πόρτας με αναγνώριση προσώπου: 7 βήματα (με εικόνες)
Πρόσφατα, υπήρξε ένα κύμα ληστειών στη χώρα μου που στοχεύουν ηλικιωμένους στα σπίτια τους. Συνήθως, η πρόσβαση παρέχεται από τους ίδιους τους ενοίκους αφού οι επισκέπτες τους πείθουν ότι είναι φροντιστές/νοσηλευτές. Το
ESP32 CAM Αναγνώριση προσώπου με υποστήριξη MQTT - AI-Thinker: 4 βήματα
ESP32 CAM Αναγνώριση προσώπου με υποστήριξη MQTT | AI-Thinker: Γεια σας! Wantedθελα να μοιραστώ τον κωδικό μου για ένα έργο, εάν χρειαζόμουν για να έχω ESP CAM με αναγνώριση προσώπου, που θα μπορούσε να στείλει δεδομένα στο MQTT. Τόσο καλά .. μετά από ίσως 7 ώρες αναζήτησης πολλών παραδειγμάτων κώδικα και αναζήτησης του τι είναι αυτό, έχω τελειώσει