Μοντέλα και πλατφόρμες AI
YOLOv7: Το πιο προηγμένο αλγόριθμο ανίχνευσης αντικειμένων;

Η 6η Ιουλίου 2022 θα σημειωθεί ως μια ιστορική ημερομηνία στην ιστορία του AI, καθώς ήταν η ημέρα που κυκλοφόρησε το YOLOv7. Από τότε, το YOLOv7 έχει γίνει το πιο συζητημένο θέμα στην κοινότητα των dévelopτερς της υπολογιστικής όρασης και για τους σωστούς λόγους. Το YOLOv7 θεωρείται ήδη ένα ορόσημο στην βιομηχανία ανίχνευσης αντικειμένων.
Λίγο μετά τη δημοσίευση του αρθρού του YOLOv7, αποδείχθηκε ότι είναι το ταχύτερο και πιο ακριβές μοντέλο ανίχνευσης αντικειμένων σε πραγματικό χρόνο. Αλλά πώς το YOLOv7 ξεπερνά τους προκατόχους του; Τι το κάνει τόσο αποτελεσματικό στην εκτέλεση εργασιών υπολογιστικής όρασης;
Σε αυτό το άρθρο θα προσπαθήσουμε να αναλύσουμε το μοντέλο YOLOv7 και να βρούμε την απάντηση στο γιατί το YOLOv7 γίνεται ο βιομηχανικός chuẩn. Αλλά πριν να απαντήσουμε σε αυτό, πρέπει να δούμε μια σύντομη ιστορία της ανίχνευσης αντικειμένων.
Τι είναι η ανίχνευση αντικειμένων;
Η ανίχνευση αντικειμένων είναι ένας κλάδος της υπολογιστικής όρασης που αναγνωρίζει και τοποθετεί αντικείμενα σε μια εικόνα ή ένα βίντεο. Η ανίχνευση αντικειμένων είναι το θεμέλιο πολλών εφαρμογών, συμπεριλαμβανομένων των αυτονομών οχημάτων, της επιτήρησης και sogar της ρομποτικής.
Ένα μοντέλο ανίχνευσης αντικειμένων μπορεί να ταξινομηθεί σε δύο διαφορετικές κατηγορίες, μοντέλα ανίχνευσης σε μια seule βολή, και μοντέλα ανίχνευσης σε πολλές βολές.
Ανίχνευση αντικειμένων σε πραγματικό χρόνο
Για να κατανοήσουμε πραγματικά πώς λειτουργεί το YOLOv7, είναι απαραίτητο να κατανοήσουμε τον κύριο στόχο του, «Ανίχνευση αντικειμένων σε πραγματικό χρόνο». Η ανίχνευση αντικειμένων σε πραγματικό χρόνο είναι ένα κρίσιμο στοιχείο της σύγχρονης υπολογιστικής όρασης. Τα μοντέλα ανίχνευσης αντικειμένων σε πραγματικό χρόνο προσπαθούν να αναγνωρίσουν και να τοποθετήσουν αντικείμενα σε πραγματικό χρόνο. Τα μοντέλα ανίχνευσης αντικειμένων σε πραγματικό χρόνο έκαναν πιο αποτελεσματική την ανίχνευση αντικειμένων σε βίντεο ή ζωντανούς είσοδους επιτήρησης.

Τα μοντέλα ανίχνευσης αντικειμένων σε πραγματικό χρόνο είναι ουσιαστικά ένα βήμα μπροστά από τα συμβατικά μοντέλα ανίχνευσης εικόνων. Ενώ το πρώτο χρησιμοποιείται για την ανίχνευση αντικειμένων σε βίντεο, το δεύτερο τοποθετεί και αναγνωρίζει αντικείμενα σε μια στατική πλαίσιο όπως μια εικόνα.
Ως αποτέλεσμα, τα μοντέλα ανίχνευσης αντικειμένων σε πραγματικό χρόνο είναι πολύ αποτελεσματικά για την ανάλυση βίντεο, τα αυτονομικά οχήματα, την ανίχνευση αντικειμένων, την ανίχνευση πολλαπλών αντικειμένων και πολλά άλλα.
Τι είναι το YOLO;
Το YOLO ή «Δείτε μόνο μια φορά» είναι μια οικογένεια μοντέλων ανίχνευσης αντικειμένων σε πραγματικό χρόνο. Η концепция του YOLO εισήχθη για πρώτη φορά το 2016 από τον Joseph Redmon και ήταν το θέμα της πόλης σχεδόν αμέσως, επειδή ήταν πολύ πιο γρήγορο και πιο ακριβές από τους υπάρχοντες αλγόριθμους ανίχνευσης αντικειμένων. Δεν πέρασε πολύς καιρός trước από το YOLO να γίνει ο βιομηχανικός chuẩn στην υπολογιστική όραση.

Η θεμελιώδης концепция που προτείνει ο αλγόριθμος YOLO είναι να χρησιμοποιήσει ένα ενιαίο νευρωνικό δίκτυο με uso των bounding box και των πιθανοτήτων των κλάσεων για να κάνει προβλέψεις σε πραγματικό χρόνο. Το YOLO ήταν διαφορετικό από τους προηγούμενους αλγόριθμους ανίχνευσης αντικειμένων, επειδή προέτεινε μια διαφορετική προσέγγιση για την ανίχνευση αντικειμένων, επαναχρησιμοποιώντας ταξινομητές.
Η αλλαγή στην προσέγγιση λειτουργούσε, καθώς το YOLO σύντομα έγινε ο βιομηχανικός chuẩn, καθώς η απόδοση μεταξύ του YOLO και άλλων αλγορίθμων ανίχνευσης αντικειμένων σε πραγματικό χρόνο ήταν σημαντική. Αλλά τι ήταν ο λόγος για τον οποίο το YOLO ήταν τόσο αποτελεσματικό;
Όταν συγκρίνεται με το YOLO, οι αλγόριθμοι ανίχνευσης αντικειμένων εκείνη την εποχή χρησιμοποιούσαν Δίκτυα Προτάσεων Περιοχών για να αναγνωρίσουν πιθανές περιοχές ενδιαφέροντος. Η διαδικασία αναγνώρισης εκτελούνταν ξεχωριστά σε κάθε περιοχή. Ως αποτέλεσμα, αυτά τα μοντέλα συχνά εκτελούσαν πολλές επαναλήψεις στην ίδια εικόνα και, ως εκ τούτου, η έλλειψη ακρίβειας και η υψηλότερη χρόνος εκτέλεσης. Από την άλλη πλευρά, ο αλγόριθμος YOLO χρησιμοποιεί ένα ενιαίο πλήρως συνδεδεμένο στρώμα για να κάνει προβλέψεις σε μια φορά.
Πώς λειτουργεί το YOLO;
Υπάρχουν τρία βήματα που εξηγούν πώς λειτουργεί ο αλγόριθμος YOLO.
Επαναδιατύπωση της ανίχνευσης αντικειμένων ως ένα單ο πρόβλημα παλινδρόμησης
Ο αλγόριθμος YOLO προσπαθεί να επαναδιατυπώσει την ανίχνευση αντικειμένων ως ένα單ο πρόβλημα παλινδρόμησης, συμπεριλαμβανομένων των pixel εικόνας, των πιθανοτήτων των κλάσεων και των συντεταγμένων των bounding box. Ως αποτέλεσμα, ο αλγόριθμος πρέπει να κοιτάξει την εικόνα μόνο μια φορά για να προβλέψει και να τοποθετήσει τα αντικείμενα στην εικόνα.
Λόγοι για τους οποίους η εικόνα εξετάζεται παγκοσμίως
Επιπλέον, όταν ο αλγόριθμος YOLO κάνει προβλέψεις, εξετάζει την εικόνα παγκοσμίως. Είναι διαφορετικό από τις τεχνικές προτάσεων περιοχών και ολισθήσεων, καθώς ο αλγόριθμος YOLO βλέπει την ολόκληρη εικόνα κατά την εκπαίδευση και τον έλεγχο στο σύνολο δεδομένων και είναι σε θέση να κωδικοποιήσει πληροφορίες για τις κλάσεις και τον τρόπο με τον οποίο εμφανίζονται.
Πριν από το YOLO, το Fast R-CNN ήταν ένας από τους πιο δημοφιλείς αλγόριθμους ανίχνευσης αντικειμένων που δεν μπορούσε να δει το μεγαλύτερο контекστό στην εικόνα, επειδή χρησιμοποιούσε να λάθος τα background patches σε μια εικόνα για ένα αντικείμενο. Συγκριτικά με το Fast R-CNN, το YOLO είναι 50% πιο ακριβές όταν πρόκειται για σφάλματα φόντου.
Γενίκευση της αναπαράστασης των αντικειμένων
Τέλος, ο αλγόριθμος YOLO επίσης στοχεύει στην γενίκευση της αναπαράστασης των αντικειμένων σε μια εικόνα. Ως αποτέλεσμα, όταν ο αλγόριθμος YOLO εκτελέστηκε σε ένα σύνολο δεδομένων με φυσικές εικόνες και δοκιμάστηκε για τα αποτελέσματα, το YOLO ξεπέρασε τα υπάρχοντα μοντέλα R-CNN με μεγάλη διαφορά. Είναι επειδή το YOLO είναι πολύ γενίκευσιμο, οι πιθανότητες να καταρρεύσει όταν εφαρμοστεί σε απρόβλεπτες εισόδους ή νέες περιοχές είναι μικρές.
YOLOv7: Τι είναι καινούριο;
Τώρα που έχουμε μια βασική κατανόηση των μοντέλων ανίχνευσης αντικειμένων σε πραγματικό χρόνο και του αλγόριθμου YOLO, είναι ώρα να συζητήσουμε τον αλγόριθμο YOLOv7.
Βελτίωση της διαδικασίας εκπαίδευσης
Ο αλγόριθμος YOLOv7 δεν προσπαθεί μόνο να βελτιώσει την αρχιτεκτονική του μοντέλου, αλλά επίσης να βελτιώσει τη διαδικασία εκπαίδευσης. Στόχος είναι να χρησιμοποιήσει μονάδες βελτίωσης και μεθόδους για να βελτιώσει την ακρίβεια της ανίχνευσης αντικειμένων, ενισχύοντας το κόστος εκπαίδευσης, ενώ διατηρεί το κόστος παρέμβασης. Αυτές οι μονάδες βελτίωσης μπορούν να ονομαστούν ως ένα σακούλι δωρεάν.
Χονδρή προς λεπτή οδηγία αναθέσεων
Ο αλγόριθμος YOLOv7 σχεδιάζει να χρησιμοποιήσει μια νέα χονδρή προς λεπτή οδηγία αναθέσεων αντί για την παραδοσιακή Δυναμική αναθέτηση. Αυτό συμβαίνει επειδή με τη δυναμική αναθέτηση, η εκπαίδευση ενός μοντέλου με πολλαπλά στρώματα εξόδου προκαλεί κάποια προβλήματα, το πιο συνηθισμένο από τα οποία είναι το πώς να αναθέσει δυναμικά στόχους για διαφορετικά κλάδια και τις εξόδους τους.
Επαναπαραμετροποίηση του μοντέλου
Η επαναπαραμετροποίηση του μοντέλου είναι μια σημαντική концепция στην ανίχνευση αντικειμένων και η χρήση της συνήθως συνοδεύεται από κάποια προβλήματα κατά την εκπαίδευση. Ο αλγόριθμος YOLOv7 σχεδιάζει να χρησιμοποιήσει την έννοια του μονοπατιού προώθησης της παλινδρόμησης για να αναλύσει τις πολιτικές επαναπαραμετροποίησης του μοντέλου που εφαρμόζονται σε διαφορετικά στρώματα του δικτύου.
Επέκταση και σύνθετη κλιμάκωση
Ο αλγόριθμος YOLOv7 εισάγει επίσης τις μεθόδους επέκτασης και σύνθετης κλιμάκωσης για να χρησιμοποιήσει αποτελεσματικά τους παράμετρους και τους υπολογισμούς για την ανίχνευση αντικειμένων σε πραγματικό χρόνο.

YOLOv7: Σχετικές εργασίες
Ανίχνευση αντικειμένων σε πραγματικό χρόνο
Το YOLO είναι目前 ο βιομηχανικός chuẩn, και οι περισσότεροι ανιχνευτές αντικειμένων σε πραγματικό χρόνο χρησιμοποιούν αλγόριθμους YOLO και FCOS (Πλήρως Συμβολική Ανίχνευση Αντικειμένων). Ένας αλγόριθμος ανίχνευσης αντικειμένων σε πραγματικό χρόνο έχει συνήθως τα ακόλουθα χαρακτηριστικά
- Ισχυρότερη και ταχύτερη αρχιτεκτονική δικτύου.
- Εфективική μέθοδος ολοκλήρωσης χαρακτηριστικών.
- Ακριβής μέθοδος ανίχνευσης αντικειμένων.
- Ρομπούστα λειτουργία απώλειας.
- Εфективική μέθοδος αναθέσεων.
- Εфективική μέθοδος εκπαίδευσης.
Ο αλγόριθμος YOLOv7 δεν χρησιμοποιεί αυτο-επιτηρούμενη μάθηση και απόσταξη μεθόδους που συχνά απαιτούν μεγάλες ποσότητες δεδομένων. Αντίθετα, ο αλγόριθμος YOLOv7 χρησιμοποιεί μια μέθοδο σακουλιού δωρεάν.
Επαναπαραμετροποίηση του μοντέλου
Οι τεχνικές επαναπαραμετροποίησης του μοντέλου θεωρούνται ως μια τεχνική συνδυασμού που συνδυάζει πολλαπλά υπολογιστικά模块 σε ένα στάδιο παρέμβασης. Η τεχνική μπορεί να διαιρεθεί σε δύο κατηγορίες, επιπέδου μοντέλου, και επιπέδου模块.
Τώρα, για να λάβουμε το τελικό μοντέλο παρέμβασης, η τεχνική επαναπαραμετροποίησης του μοντέλου χρησιμοποιεί δύο πρακτικές. Η πρώτη πρακτική χρησιμοποιεί διαφορετικά δεδομένα εκπαίδευσης για να εκπαιδεύσει πολλαπλά ταυτόσημα μοντέλα και στη συνέχεια μέσο των βαρών των εκπαιδευμένων μοντέλων. Εναλλακτικά, η άλλη πρακτική μέσο των βαρών των μοντέλων κατά τη διάρκεια των διαφορετικών επαναλήψεων.
Η επαναπαραμετροποίηση του μοντέλου στο επίπεδο模块 κερδίζει αυξανόμενη δημοτικότητα πρόσφατα, επειδή χωρίζει ένα模块 σε διαφορετικά模块 κλάδους ή ταυτόσημους κλάδους κατά τη διάρκεια της φάσης εκπαίδευσης και στη συνέχεια συνδυάζει αυτούς τους κλάδους σε ένα ισοδύναμο模块 κατά τη διάρκεια της παρέμβασης.
Ωστόσο, οι τεχνικές επαναπαραμετροποίησης δεν μπορούν να εφαρμοστούν σε όλους τους τύπους αρχιτεκτονικής. Είναι ο λόγος για τον οποίο ο αλγόριθμος YOLOv7 χρησιμοποιεί νέες τεχνικές επαναπαραμετροποίησης του μοντέλου για να σχεδιάσει στρατηγικές που ταιριάζουν σε διαφορετικές αρχιτεκτονικές.
Κλιμάκωση του μοντέλου
Η κλιμάκωση του μοντέλου είναι η διαδικασία της κλιμάκωσης ενός υπάρχοντος μοντέλου ώστε να ταιριάζει σε διαφορετικές συσκευές υπολογισμού. Η κλιμάκωση του μοντέλου χρησιμοποιεί συνήθως μια ποικιλία παραγόντων όπως ο αριθμός των στρωμάτων (βάθος), το μέγεθος της εικόνας εισόδου (ανάλυση), ο αριθμός των πυραμίδων χαρακτηριστικών (στάδιο) και ο αριθμός των καναλιών (πλάτος). Αυτοί οι παράγοντες παίζουν einen κρίσιμο ρόλο στην εξασφάλιση μιας ισορροπίας μεταξύ των παραμέτρων του δικτύου, της ταχύτητας παρέμβασης, του υπολογισμού και της ακρίβειας του μοντέλου.
Μια από τις πιο συνηθισμένες μεθόδους κλιμάκωσης είναι η ΑΝΑΖΗΤΗΣΗ αρχιτεκτονικής δικτύου που αναζητά αυτόματα κατάλληλους παράγοντες κλιμάκωσης από μηχανές αναζήτησης χωρίς σύνθετες κανόνες. Ο κύριος μειονέκτης της χρήσης της ΑΝΑΖΗΤΗΣΗΣ είναι ότι είναι μια δαπανηρή προσέγγιση για την αναζήτηση κατάλληλων παραγόντων κλιμάκωσης.
Σχεδόν κάθε μοντέλο επαναπαραμετροποίησης αναλύει τους μεμονωμένους και μοναδικούς παράγοντες κλιμάκωσης ανεξάρτητα και, επιπλέον, ακόμη και τους βελτιώνει ανεξάρτητα. Είναι επειδή η ΑΝΑΖΗΤΗΣΗ αρχιτεκτονικής δικτύου λειτουργεί με μη συσχετισμένους παράγοντες κλιμάκωσης.
Αξίζει να σημειωθεί ότι τα μοντέλα που βασίζονται σε συνδυασμό όπως το VoVNet ή το DenseNet αλλάζουν το πλάτος εισόδου ορισμένων στρωμάτων όταν το βάθος του μοντέλου κλιμακώνεται. Το YOLOv7 λειτουργεί σε μια προτεινόμενη αρχιτεκτονική που βασίζεται σε συνδυασμό και, ως εκ τούτου, χρησιμοποιεί μια μέθοδο σύνθετης κλιμάκωσης.

Η εικόνα που αναφέρεται παραπάνω συγκρίνει τα εκτεταμένα αποτελεσματικά στρώματα ολοκλήρωσης (E-ELAN) των διαφορετικών μοντέλων. Η προτεινόμενη μέθοδος E-ELAN διατηρεί τον μονοπάτι μετάδοσης της παλινδρόμησης της αρχικής αρχιτεκτονικής, αλλά στοχεύει στην αύξηση της καρδιακής της προστεθεισών χαρακτηριστικών χρησιμοποιώντας συνδυασμό.












