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

Δημιουργήστε ταξινομητές εικόνας OpenCV χρησιμοποιώντας Python: 7 βήματα
Δημιουργήστε ταξινομητές εικόνας OpenCV χρησιμοποιώντας Python: 7 βήματα

Βίντεο: Δημιουργήστε ταξινομητές εικόνας OpenCV χρησιμοποιώντας Python: 7 βήματα

Βίντεο: Δημιουργήστε ταξινομητές εικόνας OpenCV χρησιμοποιώντας Python: 7 βήματα
Βίντεο: Μέθοδοι Ομάδων Ταξινομητών 2024, Νοέμβριος
Anonim
Δημιουργήστε ταξινομητές εικόνας OpenCV χρησιμοποιώντας Python
Δημιουργήστε ταξινομητές εικόνας OpenCV χρησιμοποιώντας Python

Οι ταξινομητές 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
Δημιουργία θετικών δειγμάτων στο OpenCV
Δημιουργία θετικών δειγμάτων στο OpenCV
Δημιουργία θετικών δειγμάτων στο 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

Ταχίρ Ουλ Χακ

Συνιστάται: