Η ανίχνευση αντικειμένων είναι ένας τύπος κατηγοριοποίησης εικόνων στην οποία ένα νευρωνικό δίκτυο προβλέπει στοιχεία σε μια εικόνα και σχεδιάζει οριοθετημένα πλαίσια γύρω τους. Ο εντοπισμός και ο εντοπισμός αντικειμένων σε μια εικόνα που συμμορφώνεται με ένα προκαθορισμένο σύνολο κλάσεων αναφέρεται ως ανίχνευση αντικειμένων.
Η ανίχνευση αντικειμένων (γνωστή και ως αναγνώριση αντικειμένων) είναι ένας ιδιαίτερα σημαντικός υποτομέας του Computer Vision, επειδή εργασίες όπως η ανίχνευση, η αναγνώριση και ο εντοπισμός βρίσκουν ευρεία εφαρμογή σε περιβάλλοντα πραγματικού κόσμου.
Η προσέγγιση YOLO μπορεί να σας βοηθήσει να κάνετε αυτές τις εργασίες. Σε αυτό το δοκίμιο, θα ρίξουμε μια πιο προσεκτική ματιά στο YOLO, όπως τι είναι, πώς λειτουργεί, διαφορετικές παραλλαγές και πολλά άλλα.
Λοιπόν, τι είναι το YOLO;
Το YOLO είναι μια μέθοδος αναγνώρισης και αναγνώρισης αντικειμένων σε πραγματικό χρόνο σε φωτογραφίες. Είναι ένα αρκτικόλεξο για το You Only Look Once. Οι Redmond et al. πρότεινε την προσέγγιση σε μια εργασία που δημοσιεύθηκε αρχικά το 2015 στο Συνέδριο IEEE/CVF για το Computer Vision and Pattern Recognition (CVPR).
Το OpenCV People's Choice Award δόθηκε στην εφημερίδα. Σε αντίθεση με προηγούμενες μεθόδους αναγνώρισης αντικειμένων, οι οποίες επαναχρησιμοποιούσαν ταξινομητές για να κάνουν ανίχνευση, το YOLO προτείνει τη χρήση ενός από άκρο σε άκρο νευρικό σύστημα που προβλέπει οριοθέτηση πλαισίων και πιθανότητες κλάσεων ταυτόχρονα.
Το YOLO παράγει αποτελέσματα τελευταίας τεχνολογίας ακολουθώντας μια ριζικά νέα προσέγγιση στην αναγνώριση αντικειμένων, ξεπερνώντας εύκολα τις προηγούμενες μεθόδους ανίχνευσης αντικειμένων σε πραγματικό χρόνο.
YOLO δουλεύει
Η μέθοδος YOLO διαιρεί την εικόνα σε N πλέγματα, το καθένα με έναν τομέα διαστάσεων SxS ίσου μεγέθους. Κάθε ένα από αυτά τα N πλέγματα είναι υπεύθυνο για την ανίχνευση και τον εντοπισμό του αντικειμένου που περιέχει.
Αυτά τα πλέγματα, με τη σειρά τους, προβλέπουν τις συντεταγμένες του πλαισίου οριοθέτησης σε σχέση με τις συντεταγμένες κελιού, καθώς και το όνομα του στοιχείου και την πιθανότητα ύπαρξης του αντικειμένου στο κελί. Λόγω του ότι πολλά κελιά προβλέπουν το ίδιο αντικείμενο με ποικίλες προβλέψεις πλαισίου οριοθέτησης, αυτή η τεχνική μειώνει σημαντικά τον υπολογισμό επειδή τόσο η ανίχνευση όσο και η αναγνώριση αντιμετωπίζονται από κελιά από την εικόνα.
Ωστόσο, παράγει πολλές διπλές προβλέψεις. Για την αντιμετώπιση αυτού του προβλήματος, το YOLO χρησιμοποιεί Μη Μέγιστη Καταστολή. Το YOLO καταστέλλει όλα τα οριοθετημένα πλαίσια με χαμηλότερες βαθμολογίες πιθανότητας στη μη μέγιστη καταστολή.
Το YOLO το κάνει αυτό εξετάζοντας τις βαθμολογίες πιθανότητας που συνδέονται με κάθε επιλογή και επιλέγοντας αυτή με την υψηλότερη βαθμολογία. Τα πλαίσια οριοθέτησης με τη μεγαλύτερη Τομή πάνω από την Ένωση με το τρέχον πλαίσιο οριοθέτησης υψηλής πιθανότητας στη συνέχεια καταστέλλονται.
Αυτή η διαδικασία συνεχίζεται μέχρι να ολοκληρωθούν τα πλαίσια οριοθέτησης.
Διαφορετικές παραλλαγές του YOLO
Θα δούμε μερικές από τις πιο κοινές εκδόσεις YOLO. Ας αρχίσουμε.
1 YOLOv1
Η αρχική έκδοση YOLO ανακοινώθηκε το 2015 στη δημοσίευση "Κοιτάτε μόνο μία φορά: Ενοποιημένη, Ανίχνευση αντικειμένων σε πραγματικό χρόνο” από τους Joseph Redmon, Santosh Divvala, Ross Girshick και Ali Farhadi.
Λόγω της ταχύτητας, της ακρίβειας και της ικανότητας εκμάθησής του, ο YOLO κυριάρχησε γρήγορα στον τομέα της αναγνώρισης αντικειμένων και έγινε ο πιο ευρέως χρησιμοποιούμενος αλγόριθμος. Αντί να ασχοληθούν με την ανίχνευση αντικειμένων ως ζήτημα ταξινόμησης, οι συγγραφείς το προσέγγισαν ως πρόβλημα παλινδρόμησης με γεωγραφικά διαχωρισμένα πλαίσια οριοθέτησης και σχετικές πιθανότητες κλάσης, τις οποίες έλυσαν χρησιμοποιώντας ένα μόνο νευρικό σύστημα.
Το YOLOv1 επεξεργαζόταν φωτογραφίες με 45 καρέ ανά δευτερόλεπτο σε πραγματικό χρόνο, ενώ μια μικρότερη παραλλαγή, το Fast YOLO, επεξεργαζόταν με ταχύτητα 155 καρέ ανά δευτερόλεπτο και εξακολουθούσε να λαμβάνει το διπλάσιο mAP από άλλους ανιχνευτές σε πραγματικό χρόνο.
2 YOLOv2
Ένα χρόνο αργότερα, το 2016, ο Joseph Redmon και ο Ali Farhadi κυκλοφόρησαν το YOLOv2 (επίσης γνωστό ως YOLO9000) στην εφημερίδα "YOLO9000: Καλύτερο, Γρηγορότερο, Πιο Δυνατό. "
Η ικανότητα του μοντέλου να προβλέπει ακόμη και 9000 διακριτές κατηγορίες στοιχείων ενώ εκτελείται σε πραγματικό χρόνο του χάρισε τον χαρακτηρισμό 9000. Όχι μόνο η νέα έκδοση του μοντέλου εκπαιδεύτηκε ταυτόχρονα σε σύνολα δεδομένων ανίχνευσης και ταξινόμησης αντικειμένων, αλλά έλαβε επίσης το Darknet-19 ως τη νέα γραμμή βάσης μοντέλο.
Επειδή το YOLOv2 είχε επίσης μεγάλη επιτυχία και έγινε γρήγορα το επόμενο υπερσύγχρονο μοντέλο αναγνώρισης αντικειμένων, άλλοι μηχανικοί άρχισαν να πειραματίζονται με τον αλγόριθμο και να παράγουν τις δικές τους, μοναδικές εκδόσεις YOLO. Μερικά από αυτά θα συζητηθούν σε διάφορα σημεία της εργασίας.
3 YOLOv3
Στο χαρτί "YOLOv3: Μια σταδιακή βελτίωση», ο Joseph Redmon και ο Ali Farhadi δημοσίευσαν μια νέα έκδοση του αλγορίθμου το 2018. Κατασκευάστηκε στην αρχιτεκτονική Darknet-53. Ανεξάρτητοι logistic classifiers αντικατέστησαν τον μηχανισμό ενεργοποίησης softmax στο YOLOv3.
Η δυαδική απώλεια διασταυρούμενης εντροπίας χρησιμοποιήθηκε κατά τη διάρκεια της προπόνησης. Το Darknet-19 βελτιώθηκε και μετονομάστηκε σε Darknet-53, το οποίο τώρα έχει 53 συνελικτικά στρώματα. Εκτός από αυτό, οι προβλέψεις έγιναν σε τρεις διακριτές κλίμακες, οι οποίες βοήθησαν το YOLOv3 να βελτιώσει την ακρίβειά του στην πρόβλεψη μικροσκοπικών πραγμάτων.
Το YOLOv3 ήταν η τελευταία έκδοση YOLO του Joseph Redmon, αφού επέλεξε να μην εργαστεί σε περαιτέρω βελτιώσεις του YOLO (ή ακόμα και στον τομέα της όρασης του υπολογιστή) προκειμένου να αποφύγει την επιζήμια επιρροή της δουλειάς του στον κόσμο. Τώρα χρησιμοποιείται κυρίως ως σημείο εκκίνησης για την κατασκευή μοναδικών αρχιτεκτονικών ανίχνευσης αντικειμένων.
4. Yolov4
Οι Alexey Bochkovskiy, Chien-Yao Wang και Hong-Yuan Mark Liao δημοσίευσαν το "YOLOv4: Βέλτιστη ταχύτητα και ακρίβεια ανίχνευσης αντικειμένων” τον Απρίλιο του 2020, που ήταν η τέταρτη επανάληψη του αλγορίθμου YOLO.
Οι σταθμισμένες υπολειμματικές συνδέσεις, οι συνδέσεις μεταξύ σταδίων και οι μερικές συνδέσεις, η κανονικοποίηση πολλαπλών mini-batch, η αυτοαντίπαλη εκπαίδευση, η κακή ενεργοποίηση, το drop block και η απώλεια CIoU εισήχθησαν όλα ως μέρος της αρχιτεκτονικής SPDarknet53.
Το YOLOv4 είναι απόγονος της οικογένειας YOLO, ωστόσο, αναπτύχθηκε από ξεχωριστούς επιστήμονες (όχι τον Joseph Redmon και τον Ali Farhadi). Η ραχοκοκαλιά SPDarknet53, η συγκέντρωση χωρικών πυραμίδων, η συσσώρευση διαδρομής PANet ως λαιμός και η κεφαλή YOLOv3 συνθέτουν την αρχιτεκτονική του.
Κατά συνέπεια, σε σύγκριση με το μητρικό του, YOLOv3, το YOLOv4 επιτυγχάνει 10% υψηλότερη Μέση Ακρίβεια και 12% καλύτερες μετρήσεις καρέ ανά δευτερόλεπτο.
5 YOLOv5
YOLOv5 είναι ένα έργο ανοιχτού κώδικα που περιλαμβάνει μια σειρά από μοντέλα και αλγόριθμους αναγνώρισης αντικειμένων που βασίζονται στο μοντέλο YOLO που έχει προεκπαιδευτεί στο σύνολο δεδομένων COCO.
Το YOLOv5 είναι μια συλλογή μοντέλων αναγνώρισης αντικειμένων σε κλίμακα σύνθεσης εκπαιδευμένο στο σύνολο δεδομένων COCO, με εύκολες δυνατότητες για TTA, συναρμολόγηση μοντέλου, ανάπτυξη υπερπαραμέτρων και εξαγωγή σε ONNX, CoreML και TFLite. Επειδή το YOLOv5 δεν εφαρμόζει ούτε αναπτύσσει μοναδικές προσεγγίσεις, το επίσημο έγγραφο δεν μπόρεσε να κυκλοφορήσει. Είναι απλά η επέκταση PyTorch του YOLOv3.
Η Ultranytics χρησιμοποίησε αυτό το σενάριο για να δημοσιοποιήσει τη «νέα έκδοση YOLO» υπό τη χορηγία της. Επειδή υπάρχουν επίσης πέντε προεκπαιδευμένα μοντέλα προσβάσιμα, η αρχική σελίδα του YOLOv5 είναι αρκετά απλή και επαγγελματικά δομημένη και γραμμένη, με μια σειρά από μαθήματα και προτάσεις σχετικά με την εκπαίδευση και τη χρήση των μοντέλων YOLOv5.
περιορισμοί YOLO
Αν και το YOLO φαίνεται να είναι η καλύτερη τεχνική για επίλυση ανίχνευση αντικειμένων προβλήματα, έχει μια σειρά από μειονεκτήματα. Επειδή κάθε πλέγμα μπορεί να αναγνωρίσει μόνο ένα στοιχείο, το YOLO δυσκολεύεται να εντοπίσει και να διαχωρίσει μικροσκοπικά πράγματα σε εικόνες που εμφανίζονται σε ομάδες. Μικρά πράγματα σε σμήνη, όπως ένα σμήνος μυρμηγκιών, είναι δύσκολο για τον YOLO να αναγνωρίσει και να εντοπίσει.
Σε σύγκριση με πολύ πιο αργές μεθόδους αναγνώρισης αντικειμένων όπως το Fast RCNN, το YOLO χαρακτηρίζεται επίσης από μικρότερη ακρίβεια.
Ξεκινήστε να χρησιμοποιείτε το YOLOv5
Εάν ενδιαφέρεστε να δείτε ένα YOLOv5 σε δράση, ρίξτε μια ματιά στο επίσημο GitHub και YOLOv5 στο PyTorch.
Συμπέρασμα
Η αρχική έκδοση του YOLOv5 είναι εξαιρετικά γρήγορη, αποτελεσματική και απλή στη χρήση. Ενώ το YOLOv5 δεν προσθέτει καμία νέα αρχιτεκτονική μοντέλων στην οικογένεια YOLO, παρέχει ένα νέο πλαίσιο εκπαίδευσης και ανάπτυξης PyTorch που βελτιώνει την τελευταία λέξη της τεχνολογίας για τους ανιχνευτές αντικειμένων.
Επιπλέον, το YOLOv5 είναι εξαιρετικά φιλικό προς το χρήστη και βγαίνει «από το κουτί» έτοιμο για χρήση σε αντικείμενα κατά παραγγελία.
Αφήστε μια απάντηση