Πίνακας περιεχομένων:
- Βήμα 1: Απαιτούνται λογισμικά
- Βήμα 2: Λήψη των εικόνων
- Βήμα 3: Δημιουργία θετικών δειγμάτων στο OpenCV
- Βήμα 4: Δημιουργία θετικού διανυσματικού αρχείου
- Βήμα 5: Εκπαίδευση του ταξινομητή
- Βήμα 6: Δοκιμή του ταξινομητή
- Βήμα 7: Ιδιαίτερες ευχαριστίες
Βίντεο: Δημιουργήστε ταξινομητές εικόνας OpenCV χρησιμοποιώντας Python: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Οι ταξινομητές Haar σε python και opencv είναι μάλλον δύσκολο, αλλά εύκολο έργο.
Συχνά αντιμετωπίζουμε προβλήματα στην ανίχνευση και ταξινόμηση εικόνων. η καλύτερη λύση είναι να δημιουργήσετε τον δικό σας ταξινομητή. Εδώ μαθαίνουμε να φτιάχνουμε τους δικούς μας ταξινομητές εικόνας με μερικές εντολές και μακρά αλλά απλά προγράμματα python
Η ταξινόμηση απαιτεί μεγάλο αριθμό αρνητικών και θετικών εικόνων Τα αρνητικά δεν περιέχουν το απαιτούμενο αντικείμενο, ενώ τα θετικά είναι αυτά που περιέχουν το προς ανίχνευση αντικείμενο.
Απαιτούνται περίπου 2000 αρνητικά και θετικά. Το πρόγραμμα python μετατρέπει την εικόνα σε κλίμακα του γκρι και σε κατάλληλο μέγεθος, έτσι ώστε οι ταξινομητές να χρειάζονται τον βέλτιστο χρόνο για να δημιουργηθούν.
Βήμα 1: Απαιτούνται λογισμικά
Απαιτείτε τα ακόλουθα λογισμικά για τη δημιουργία του δικού σας ταξινομητή
1) OpenCV: η έκδοση που χρησιμοποίησα είναι 3.4.2. η έκδοση είναι εύκολα διαθέσιμη στο διαδίκτυο.
2) Python: Η έκδοση που χρησιμοποιείται είναι 3.6.2. Μπορεί να μεταφορτωθεί από το python.org
Επιπλέον, χρειάζεστε μια webcam (φυσικά).
Βήμα 2: Λήψη των εικόνων
Το πρώτο βήμα είναι να τραβήξετε μια σαφή εικόνα του αντικειμένου προς ταξινόμηση.
Το μέγεθος δεν πρέπει να είναι πολύ μεγάλο καθώς χρειάζεται μεγαλύτερος χρόνος για την επεξεργασία του υπολογιστή. Πήρα μέγεθος 50 επί 50.
Στη συνέχεια κατεβάζουμε τις αρνητικές και θετικές εικόνες. Μπορείτε να τα βρείτε online. Αλλά χρησιμοποιούμε τον κώδικα python για λήψη εικόνων από το "https://image-net.org"
Στη συνέχεια μετατρέπουμε τις εικόνες σε κλίμακα του γκρι και σε κανονικό μέγεθος. Αυτό εφαρμόζεται επίσης στον κώδικα. Ο κώδικας αφαιρεί επίσης οποιαδήποτε ελαττωματική εικόνα
Μέχρι τώρα, ο κατάλογός σας θα πρέπει να περιέχει την εικόνα αντικειμένου, π.χ. φάκελο watch5050-j.webp
Εάν ο φάκελος δεδομένων δεν έχει δημιουργηθεί, κάντε το με μη αυτόματο τρόπο
Ο κώδικας python παρέχεται στο αρχείο.py
Βήμα 3: Δημιουργία θετικών δειγμάτων στο OpenCV
Τώρα μεταβείτε στον κατάλογο opencv_createsamples και προσθέστε όλο το προαναφερθέν περιεχόμενο
στο commad prompt μεταβείτε στο C: / opencv342 / build / x64 / vc14 / bin για να βρείτε opencv_createsamples και opencv_traincascade εφαρμογές
τώρα εκτελέστε τις ακόλουθες εντολές
opencv_createsamples -img watch5050-j.webp
Αυτή η εντολή προορίζεται για τη δημιουργία των θετικών δειγμάτων του αντικειμένου 1950 με ακρίβεια και του αρχείου περιγραφής info.lst των θετικών εικόνων η περιγραφή θα πρέπει να είναι έτσι
Τώρα ο φάκελος περιέχει
πληροφορίες
φάκελος neg images
bg.txt αρχείο
άδειος φάκελος δεδομένων
Βήμα 4: Δημιουργία θετικού διανυσματικού αρχείου
Τώρα δημιουργήστε το θετικό διανυσματικό αρχείο που παρέχει τη διαδρομή προς τις θετικές εικόνες του αρχείου περιγραφής
Χρησιμοποιήστε την ακόλουθη εντολή
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positives.vec
Μέχρι τώρα το περιεχόμενο του καταλόγου πρέπει να είναι το ακόλουθο:
--άρι
---- negimages.jpg
--opencv
-πληροφορίες
--δεδομένα
--θετικά.vec
--bg.txt
--watch5050-j.webp
Βήμα 5: Εκπαίδευση του ταξινομητή
Τώρα ας εκπαιδεύσουμε τον καταρράκτη haar και δημιουργούμε το αρχείο xml
Χρησιμοποιήστε την ακόλουθη εντολή
opencv_traincascade -δεδομένα δεδομένων -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
τα στάδια είναι 10 Η αύξηση των σταδίων απαιτεί περισσότερη επεξεργασία, αλλά ο ταξινομητής είναι πολύ πιο αποτελεσματικός.
Τώρα δημιουργείται το haarcascade Χρειάζονται περίπου δύο ώρες για να ολοκληρωθεί Ανοίξτε το φάκελο δεδομένων εκεί θα βρείτε cascade.xml Αυτός είναι ο ταξινομητής που έχει δημιουργηθεί
Βήμα 6: Δοκιμή του ταξινομητή
Ο φάκελος δεδομένων περιέχει τα αρχεία όπως φαίνεται στην παραπάνω εικόνα.
Μετά τη δημιουργία του ταξινομητή βλέπουμε αν ο ταξινομητής λειτουργεί ή όχι εκτελώντας το πρόγραμμα object_detect.py. Μην ξεχάσετε να τοποθετήσετε το αρχείο classifier.xml στον κατάλογο python.
Βήμα 7: Ιδιαίτερες ευχαριστίες
Θα ήθελα να ευχαριστήσω τον Sentdex εδώ που είναι ένας μεγάλος προγραμματιστής python.
Έχει ένα όνομα youtube με το παραπάνω όνομα και το βίντεο που με βοήθησε πολύ έχει αυτόν τον σύνδεσμο
Το μεγαλύτερο μέρος του κώδικα έχει αντιγραφεί από το senddex. Αν και πήρα πολλή βοήθεια από το senddex, αντιμετώπισα πολλά προβλήματα. Απλά ήθελα να μοιραστώ την εμπειρία μου.
Ελπίζω αυτό το ακατάλληλο να σας βοήθησε !!! Μείνετε συντονισμένοι για περισσότερα.
BR
Ταχίρ Ουλ Χακ
Συνιστάται:
Επεξεργασία εικόνας με το Raspberry Pi: Εγκατάσταση OpenCV & Διαχωρισμός χρώματος εικόνας: 4 βήματα
Επεξεργασία εικόνας με το Raspberry Pi: Εγκατάσταση OpenCV & Διαχωρισμός χρωμάτων εικόνας: Αυτή η ανάρτηση είναι η πρώτη από τα πολλά σεμινάρια επεξεργασίας εικόνας που θα ακολουθήσουν. Ρίχνουμε μια πιο προσεκτική ματιά στα εικονοστοιχεία που συνθέτουν μια εικόνα, μαθαίνουμε πώς να εγκαταστήσουμε το OpenCV στο Raspberry Pi και γράφουμε επίσης δοκιμαστικά σενάρια για τη λήψη μιας εικόνας, αλλά και
Δημιουργία κινούμενης εικόνας 2D χρησιμοποιώντας Microsoft PowerPoint και IMovie .: 20 βήματα
Δημιουργία κινούμενης εικόνας 2D χρησιμοποιώντας Microsoft PowerPoint και IMovie .: Τι θα χρειαστείτε:- κανονικός φορητός υπολογιστής ή επιτραπέζιος υπολογιστής- Microsoft PowerPoint- iMovie ή εναλλακτικός δημιουργός ταινιών
Επεξεργαστής εικόνας κωδικοποιημένης Python GET1033: 5 βήματα
GET1033 Python Coded Image Processor: Αυτό το έργο αφορά τη δημιουργία του δικού μου python κωδικοποιημένου επεξεργαστή εικόνας για τη μονάδα μου, GET1033 Εξερεύνηση υπολογιστικής πολυμέσων. Αρχικά, ο χρήστης θα πρέπει να εισαγάγει μια δική του φωτογραφία και στη συνέχεια να επιλέξει τα φίλτρα που θέλει. Δημιούργησα 9 φίλτρα τα οποία
Δημιουργήστε ένα Digitalηφιακό Πλαίσιο Εικόνας 30 $: 7 Βήματα
Φτιάξτε ένα Digitalηφιακό Πλαίσιο Εικόνας 30 $: Αυτό το σεμινάριο θα σας δείξει πώς να φτιάξετε ένα ψηφιακό πλαίσιο εικόνας 2,5 "χρησιμοποιώντας ένα Mattel Juicebox. Το συνολικό κόστος των εξαρτημάτων ήταν περίπου 30 $. Ξέρω ότι αυτός ο τύπος σεμιναρίου έχει γίνει πολλές φορές, αλλά σκέφτηκα ότι θα δημοσιεύσω την ερμηνεία μου. Δεν έχω
Δημιουργήστε έναν τοίχο εικόνας: 7 βήματα
Φτιάξτε έναν τοίχο εικόνας: Ξέρετε, ένας τοίχος με μια ολόκληρη δέσμη διαφορετικών μεγεθών πλαισίων και εικόνων που εκτείνεται σε μια μεγάλη περιοχή και φαίνεται πραγματικά δροσερός