OpenMV
Ασπίδες
Φακός
Ρομποτική
Βιβλίο
Βίντεο
Λήψη
Έγγραφα
Δικαστήριο
OpenMV.io
GithubΤον Απρίλιο του περασμένου έτους, το νέο μας προϊόν OpenMV4 H7 Plus κυκλοφόρησε στην αγορά. Σήμερα, θα σας παρουσιάσω τη νέα λειτουργία του OpenMV4 H7 Plus – την εκπαίδευση νευρωνικών δικτύων μέσω της διαδικτυακής πλατφόρμας EdgeImpulse για κατηγοριοποίηση και αναγνώριση.
Σε αυτό το σεμινάριο, θα χρησιμοποιήσετε μηχανική μάθηση για να δημιουργήσετε ένα σύστημα αναγνώρισης που μπορεί να εντοπίσει μέσω της έξυπνης κάμερας OpenMV4 H7 Plus εάν ένα πρόσωπο φορά μάσκα, δηλαδή να πραγματοποιήσει ταξινόμηση εικόνας.

Το EdgeImpulse είναι μια ιστοσελίδα που παρέχει υπηρεσίες εκπαίδευσης νευρωνικών δικτύων σε σύνδεση για ενσωματωμένες συσκευές. Είναι συνεργάτης της OpenMV και επίσης είναι επίσημος συνεργάτης της STMicroelectronics. Προς το παρόν, το EdgeImpulse είναι δωρεάν για τους χρήστες της OpenMV, επιτρέποντας στους χρήστες της OpenMV να εκπαιδεύουν δωρεάν νευρωνικά δίκτυα σε σύνδεση που είναι κατάλληλα για τη χρήση με την OpenMV.
Η προσθήκη νευρωνικών δικτύων στην ενσωματωμένη συσκευή OpenMV επιτρέπει τη διάκριση μεταξύ λαθροθηρών και ελεφάντων, τον έλεγχο ποιότητας στις γραμμές παραγωγής εργοστασίων και την αυτόνομη οδήγηση τηλεκατευθυνόμενων μοντέλων αυτοκινήτων.
Σε αυτό το σεμινάριο, θα μάθετε πώς να συλλέγετε εικόνες για τη δημιουργία ενός υψηλής ποιότητας συνόλου δεδομένων, πώς να εφαρμόζετε τη μεταφορά μάθησης για την εκπαίδευση ενός νευρωνικού δικτύου και πώς να αναπτύξετε το σύστημα στο OpenMV.
Επιπλέον, παρέχουμε ένα εκπαιδευτικό βίντεο, το οποίο μπορείτε να αναζητήσετε στον επίσημο ιστότοπο με τον τίτλο "OpenMV4 Plus Εκπαίδευση Νευρωνικού Δικτύου για Αναγνώριση Μασκών" και να το παρακολουθήσετε.
Μπορείτε να δείτε όλο το περιεχόμενο του έργου, συμπεριλαμβανομένου όλου του κώδικα και των μοντέλων, στη διεύθυνση: https://book.openmv.cc/project/mask.html
Η διαδικασία εκπαίδευσης ενός νευρωνικού δικτύου για το OpenMV χρησιμοποιώντας το EdgeImpulse διαδικτυακά περιλαμβάνει κυρίως τα ακόλουθα τέσσερα βήματα: συλλογή δεδομένων, μεταφόρτωση, εκπαίδευση και ανάπτυξη.
01. Συλλογή συνόλου δεδομένων
Σε αυτό το σεμινάριο, θα δημιουργήσουμε ένα μοντέλο που μπορεί να διακρίνει αν ένα πρόσωπο φορά μάσκα. Φυσικά, μπορείτε επίσης να επιλέξετε να ταξινομήσετε άλλα αντικείμενα. Για να λειτουργήσει το μοντέλο μηχανικής μάθησης, θα χρειαστεί να συλλέξετε έναν μεγάλο αριθμό δειγματικών εικόνων προσώπων που φορούν και δεν φορούν μάσκα. Κατά την εκπαίδευση, αυτές οι δειγματικές εικόνες χρησιμοποιούνται για την άσκηση διάκρισης του μοντέλου.
Πρέπει να χρησιμοποιήσουμε το OpenMV IDE για τη συλλογή του συνόλου δεδομένων μας. Τα βήματα για τη λήψη εικόνων είναι τα εξής:
Δημιουργία δύο κατηγοριών:
Ανοίξτε το μενού "Εργαλεία" στο OpenMV IDE, επιλέξτε "Επεξεργαστής Συνόλου Δεδομένων", κάντε κλικ στο "Νέο Σύνολο Δεδομένων", στη συνέχεια δημιουργήστε έναν νέο φάκελο και ανοίξτε τον, μέσα στο σύνολο δεδομένων δημιουργήστε δύο ακόμη φακέλους με ονόματα mask (για την αποθήκευση φωτογραφιών προσώπων με μάσκα) και face (για την αποθήκευση φωτογραφιών προσώπων χωρίς μάσκα).


Συλλογή εικόνων με OpenMV
Πρώτα συνδέουμε το OpenMV, κάνουμε κλικ στο "Σύνδεση" στο IDE, κάνουμε κλικ στο "Εκτέλεση", και στο Framebuffer μπορούμε να δούμε την πραγματικού χρόνου εικόνα του OpenMV. Κάνοντας κλικ στο κουμπί φωτογραφίας στη γραμμή μενού στα αριστερά, το OpenMV θα αποθηκεύσει αυτόματα αυτήν την εικόνα, η οποία αποτελεί ένα δεδομένο μέσα στο σύνολο δεδομένων.
Πρώτα πρέπει να αποθηκεύσουμε τα πρόσωπα που φορούν μάσκα, πατώντας το κουμπί της φωτογραφίας, το IDE θα τραβήξει μια φωτογραφία στην κάτω πλευρά, θα την ονομάσει αυτόματα 00000, και η επόμενη θα είναι 00001, και ούτω καθεξής.
Χρησιμοποιώντας το OpenMV, συλλέχθηκαν 200 φωτογραφίες προσώπων με μάσκα (100 από άνδρες και 100 από γυναίκες) και 200 φωτογραφίες προσώπων χωρίς μάσκα (100 από άνδρες και 100 από γυναίκες).


* Σημείωση: Βεβαιωθείτε ότι συλλέγονται φωτογραφίες από διάφορες γωνίες για να διασφαλιστεί η ποικιλομορφία της εκπαίδευσης και της μάθησής μας.
Εάν κατά τη διαδικασία συλλογής διαπιστωθεί ότι μια συγκεκριμένη εικόνα δεν έχει συλλεχθεί με ικανοποιητικό τρόπο, μπορείτε να κάντε δεξί κλικ σε αυτήν την εικόνα και να επιλέξετε τη διαγραφή.
02、Ανέβασμα
Αφού συλλέξετε εικόνες χρησιμοποιώντας το OpenMV, πρέπει να εγγραφείτε και να συνδεθείτε στον επίσημο ιστότοπο του EdgeImpulse (https://edgeimpulse.com/) για να ξεκινήσετε τη μεταφόρτωση εικόνων. Τα βήματα για τη μεταφόρτωση εικόνων είναι:
Δημιουργήστε ένα νέο έργο στο EdgeImpulse, κάντε κλικ στο "keys", επιλέξτε "API Key" και αντιγράψτε το "API Key". Χρησιμοποιώντας το API Key, επιτυγχάνεται η σύνδεση μεταξύ του OpenMV IDE και του Edge Impulse.

Επιλέξτε "Εργαλεία" – "Επεξεργαστής Δεδομένων" – "Εξαγωγή" – "Μεταφόρτωση" – "Μεταφόρτωση μέσω API Key" από τη γραμμή μενού στο επάνω μέρος του OpenMV IDE, αντιγράψτε το "API Key" και μεταφορτώστε.
Τα δεδομένα θα χωριστούν αυτόματα σε σύνολο εκπαίδευσης και σύνολο δοκιμών κατά τη μεταφόρτωση. Προτείνουμε την προεπιλεγμένη αναλογία "80% και 20%". Συλλέξαμε συνολικά πάνω από 400 εικόνες προσώπων. Το 80% των Training Date σημαίνει ότι το 80% των δεδομένων σας χρησιμοποιείται για εκπαίδευση, ενώ το υπόλοιπο 20% χρησιμοποιείται ως σύνολο δοκιμών.


03. Σύνολο δεδομένων εκπαίδευσης
Με το σύνολο δεδομένων έτοιμο, μπορείτε να εκπαιδεύσετε το σύνολο δεδομένων στη διεπαφή του ιστότοπου EdgeImpulse.
* Μονάδα Επεξεργασίας Διαμόρφωσης:
Πρώτα επιλέξτε το "Impulse Design", ρυθμίστε τη μονάδα επεξεργασίας:
* Ορίστε την προεπιλεγμένη διάσταση εικόνας σε "96 x 96
* Επιλέξτε τη μονάδα "Εικόνες Images", που υποδηλώνει ότι εκπαιδεύουμε για την ταξινόμηση εικόνων (μπορείτε επίσης να χρησιμοποιήσετε το EdgeImpulse για την ταξινόμηση ήχου, βίντεο κ.λπ.)
* Επιλέξτε "Μεταφορά Μάθησης (Εικόνες) Transfer Learning (Images)", ορίστε το μοντέλο μάθησης.
Επιλέξτε "Αποθήκευση Save impulse", εμφάνιση Successfully σημαίνει ότι η διαμόρφωση ήταν επιτυχής.

* Προεπεξεργασία εικόνας:
Κάντε κλικ στο "Εικόνα Image" στο αριστερό μενού, ορίστε τη μορφή χρώματος σε "RGB" και στη συνέχεια πατήστε "Αποθήκευση".

Στη συνέχεια, επιλέξτε "Δημιουργία Χαρακτηριστικών" για να ξεκινήσετε τη διαδικασία, η οποία θα εκτελέσει προεπεξεργασία εικόνας σε περισσότερα από 400 δεδομένα, ενώ στα δεξιά θα εμφανιστεί η τρισδιάστατη οπτικοποίηση του πλήρους συνόλου δεδομένων.

* Ρύθμιση μοντέλου μεταφοράς μάθησης
Κάντε κλικ στο "Μεταφορά Μάθησης Transfer learning" στο αριστερό μενού, επιλέξτε όλες τις προεπιλεγμένες ρυθμίσεις παραμέτρων ή αλλάξτε τις παραμέτρους ανάλογα με τις ανάγκες:
1. Ορίστε τον αριθμό των κύκλων εκπαίδευσης Number of training cycles ως προεπιλογή σε 10
2. Ρυθμίστε τον ρυθμό μάθησης Learning rate σε 0.0005
3. Μπορείτε να επιλέξετε ή να μην επιλέξετε το "Ενίσχυση Δεδομένων Data augmentation
4. Ορίστε την προεπιλεγμένη τιμή ελάχιστης βαθμολογίας εμπιστοσύνης Minimum confidence rating σε 0.8.
Κάντε κλικ στο "Έναρξη εκπαίδευσης Start training", η διαδικασία εκπαίδευσης διαρκεί περίπου 4 έως 5 λεπτά.
Μετά την ολοκλήρωση της εκπαίδευσης του μοντέλου, μπορείτε να δείτε την ακρίβεια, τον πίνακα σύγχυσης confusion matrix και την αναμενόμενη απόδοση της συσκευής.

* Δοκιμαστικό μοντέλο:
Μετά την ολοκλήρωση της εκπαίδευσης, θα χρησιμοποιήσουμε τα δεδομένα δοκιμής για να ελέγξουμε το μοντέλο.
Επιλέξτε "Δοκιμή μοντέλου Model testing", επιλέξτε το πλαίσιο δίπλα στο "Όνομα δείγματος Sample name" και κάντε κλικ στο "Ταξινόμηση επιλεγμένων Classify selected". Η ακρίβεια που εμφανίζεται εδώ φτάνει το 97%, κάτι που είναι σπάνιο για ένα μοντέλο με τόσο λίγα δεδομένα.

Ανακαλύπτοντας ότι αυτή η εικόνα που εμφανίζεται με κόκκινο χρώμα είναι αβέβαιη, κάντε κλικ στις τρεις τελείες στα δεξιά της εικόνας και επιλέξτε "Εμφάνιση κατηγορίας Show classification". Θα μεταφερθείτε στη διεπαφή "Πραγματικής κατηγοριοποίησης", η οποία περιλαμβάνει περισσότερες λεπτομέρειες για το αρχείο. Αυτή η διεπαφή θα σας βοηθήσει να προσδιορίσετε τον λόγο για τον οποίο η εικόνα κατηγοριοποιήθηκε λανθασμένα.

Εάν τα δεδομένα βρίσκονται εκτός όλων των γνωστών συστάδων (με μάσκα/χωρίς μάσκα), αυτό μπορεί να είναι δεδομένα που δεν ταιριάζουν με οποιαδήποτε προηγούμενη κατηγορία — πιθανώς λόγω των μαλλιών που καλύπτουν το μεγαλύτερο μέρος του προσώπου.
04. Εκτέλεση μοντέλου στο OpenMV
Αφού ολοκληρώσετε τα βήματα του σχεδιασμού της εκπαίδευσης, της εκπαίδευσης του μοντέλου και της επαλήθευσης του μοντέλου, μπορείτε να εξάγετε αυτό το μοντέλο στο OpenMV σας, επιλέγοντας "OpenMV", επιλέγοντας "Build" για δημιουργία, και αυτόματα δημιουργούνται 3 αρχεία:
* trained.tflite Εκπαιδευμένο μοντέλο νευρωνικού δικτύου
* labels.txt δύο ετικέτες κατηγοριοποίησης (πρόσωπο και μάσκα)
* ei_image_classification.py είναι ο κώδικας που πρέπει να εκτελεστεί στο OpenMV

Συνδέστε το OpenMV IDE και αποθηκεύστε αυτά τα 3 αρχεία στο ενσωματωμένο Flash του OpenMV. Ανοίξτε το αρχείο ei_image_classification.py στο OpenMV IDE για να δείτε τον κώδικα που μόλις δημιουργήσαμε στο EdgeImpulse. Κάντε κλικ στο "Εκτέλεση" και τα αποτελέσματα θα εμφανιστούν στο σειριακό τερματικό.


Εντάξει, έχετε επιτυχώς προσθέσει τη δυνατότητα εκπαίδευσης νευρωνικών δικτύων στον OpenMV.
Αναμένουμε τα αποτελέσματά σας!

ΑΙ φύλακας με βάση το OpenMV: Αυτόματη ειδοποίηση για ανοιχτές πόρτες σε κρίσιμους χώρους
Αυτόματος εντοπισμός εάν η πόρτα κρίσιμης εγκατάστασης παραμένει ανοιχτή για μεγάλο χρονικό διάστημα και ενημέρωση εγκαίρως.

Ειδοποίηση κατά την παραβίαση των ορίων από πρόσωπα· Το OpenMV ερμηνεύει την «αισθητική ασφαλούς ορίου»
Αναγνώριση της παραβίασης οριοθετημένης περιοχής από πρόσωπα ή εξοπλισμό μέσω εικονικής γραμμής προειδοποίησης.

Έρχεται η «AI Διαχείριση Πόλης»: Σύστημα αυτόματης αναγνώρισης παράνομων εμπορικών δραστηριοτήτων σε δημόσιους χώρους, βασισμένο στο OpenMV
Αυτόματη αναγνώριση των πράξεων εμπορικής δραστηριότητας σε δημόσιους χώρους, για την υποστήριξη της καθημερινής διαχείρισης της πόλης.

Ακατάστατη τοποθέτηση κυλίνδρων αερίου; Χρησιμοποιήστε το OpenMV για να ενεργοποιήσετε αυτόματα προειδοποίηση κινδύνου
Αυτόματη αναγνώριση των παράνομων θέσεων τοποθέτησης των κυλίνδρων αερίου για προληπτική ανίχνευση κινδύνων ασφαλείας στο αέριο.

Εργασία υπό τάση χωρίς μονωτικά γάντια; Το OpenMV εκπέμπει αμέσως συναγερμό!
Αυτόματη αναγνώριση εάν οι εργαζόμενοι φορούν μονωτικά γάντια, προκειμένου να υποστηριχθεί η ασφαλής εκτέλεση των εργασιών.

Χρησιμοποιώντας την έξυπνη κάμερα OpenMV, αναγνωρίζει σε πραγματικό χρόνο ελαττώματα στην επιφάνεια αλουμινίου
Διαδικτυακή ανίχνευση ελαττωμάτων στην επιφάνεια αλουμινίου, όπως γρατζουνιές και ενσορρήσεις, για την υποστήριξη του ελέγχου ποιότητας.