Πίνακας περιεχομένων:
Βίντεο: Επίδειξη Sipeed MaiX Bit OpenMV - Όραμα υπολογιστή: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Αυτό είναι το δεύτερο άρθρο στη σειρά για το Sipeed AI στην πλατφόρμα μικροελεγκτών Edge. Αυτή τη φορά θα γράψω για το MaiX Bit (σύνδεσμος στο Seeed Studio Shop), έναν μικρότερο, έτοιμο πίνακα ανάπτυξης. Οι προδιαγραφές του μοιάζουν πολύ με το MaiX Dock, τον πίνακα που χρησιμοποίησα για το τελευταίο σεμινάριο, αφού χρησιμοποιούν το ίδιο τσιπ, Kendryte K210.
Θα χρησιμοποιήσουμε το υλικολογισμικό micropython για να δοκιμάσουμε κάποια επίδειξη OpenMV. Ακολουθεί περιγραφή από την αρχική σελίδα του OpenMV:
Το έργο OpenMV αφορά τη δημιουργία μονάδων όρασης χαμηλού κόστους, επεκτάσιμων, που υποστηρίζουν Python και στοχεύει να γίνει το «Arduino of Machine Vision».… Η Python διευκολύνει πολύ την εργασία με αλγόριθμους μηχανικής όρασης. Για παράδειγμα, η μέθοδος find_blobs () στον κώδικα βρίσκει χρώματα και επιστρέφει μια λίστα με αντικείμενα 8 τιμών που αντιπροσωπεύουν κάθε χρωματική λάμπα που βρέθηκε. Στην Python η επανάληψη μέσω της λίστας αντικειμένων που επιστρέφονται από το find_blobs () και η σχεδίαση ενός ορθογωνίου γύρω από κάθε χρωματική λεκέδα γίνεται εύκολα σε δύο μόνο γραμμές κώδικα.
Έτσι, παρά το γεγονός ότι το MaiX Bit διαθέτει αποκλειστικό επιταχυντή νευρωνικών δικτύων, μερικές φορές μπορεί να είναι ευκολότερο να χρησιμοποιήσετε απλούς κωδικοποιημένους αλγόριθμους OpenMV για να κάνετε τη δουλειά ή να τους χρησιμοποιήσετε ο ένας δίπλα στον άλλο.
Μερικές περιπτώσεις χρήσης που μου έρχονται στο μυαλό είναι:
1) Ανίχνευση γραμμής για bot follower γραμμής
2) Ανίχνευση φανών με ανίχνευση κύκλου και χρώματος
3) Χρήση ανίχνευσης προσώπου για την εύρεση των προσώπων για αναγνώριση προσώπου (με DNN)
Αποθήκη Github για αυτό το άρθρο
Βήμα 1: Firmware Flash Micropython
Πρώτα απ 'όλα θα πρέπει να αναβοσβήσουμε το firmware micropython στον πίνακα μας. Ένα προ -μεταγλωττισμένο δυαδικό αρχείο περιλαμβάνεται στο github repository για αυτό το άρθρο, μαζί με το kflash.py (ένα βοηθητικό πρόγραμμα flash). Εάν θέλετε να μεταγλωττίσετε το υλικολογισμικό από τον πηγαίο κώδικα, απλώς κατεβάστε τον πηγαίο κώδικα από τη διεύθυνση https://github.com/sipeed/MaixPy, εγκαταστήστε την αλυσίδα εργαλείων και μεταγλωττίστε τον πηγαίο κώδικα στο αρχείο maixpy.bin. Αναλυτικές οδηγίες κατασκευής μπορείτε να βρείτε εδώ.
Αναβοσβήνετε το δυαδικό αρχείο με
sudo python3 kflash.py kpu.bin
Μετά την επιτυχή αναβοσβήσιμο ακολουθήστε το επόμενο βήμα.
Βήμα 2: Συνδεθείτε στο Bit MaiX
Τώρα το MaiX Bit μας πρέπει να είναι προσβάσιμο μέσω σειριακής σύνδεσης USB με baudrate 115200. Μπορείτε να χρησιμοποιήσετε το αγαπημένο σας λογισμικό για σειριακή επικοινωνία ή απλώς εντολές cat και echo, ό, τι ταιριάζει στις ανάγκες σας. Χρησιμοποιούσα οθόνη για σειριακή επικοινωνία και το βρίσκω πολύ βολικό.
Η εντολή για τη δημιουργία σειριακής συνεδρίας επικοινωνίας με οθόνη είναι
sudo screen /dev /ttyUSB0 115200
όπου /dev /ttyUSB0 είναι η διεύθυνση της συσκευής σας.
Mightσως χρειαστεί να πατήσετε το κουμπί επαναφοράς στον μικροελεγκτή σας για να δείτε το μήνυμα χαιρετισμού και την ερώτηση διερμηνέα python.
Βήμα 3: Εκτελέστε τα Demos
Τώρα μπορείτε να αποκτήσετε πρόσβαση στη λειτουργία αντιγραφής πατώντας Ctrl+E και αντιγράψτε και επικολλήστε τους κωδικούς επίδειξης. Για να τα εκτελέσετε πατήστε Ctrl+D σε λειτουργία αντιγραφής.
Εάν δεν θέλετε να εγγράψετε τα βίντεο, πρέπει να σχολιάσετε τις γραμμές εγγραφής βίντεο. Διαφορετικά, ο κωδικός θα εξαιρέσει εάν δεν έχει εισαχθεί κάρτα SD
Ακολουθούν σύντομες περιγραφές για κάθε επίδειξη:
Εύρεση κύκλων - χρησιμοποιεί τη λειτουργία find_circles από το OpenMV. Χρειάζεται περισσότερη προσαρμογή για τη συγκεκριμένη εφαρμογή σας, ιδιαίτερα το κατώφλι (ελέγχει ποιοι κύκλοι ανιχνεύονται από τον μετασχηματισμό του κόλπου. Επιστρέφονται μόνο κύκλοι με μέγεθος μεγαλύτερο ή ίσο με το κατώφλι) και τιμές r_min, r_max.
Εύρεση ορθογωνίων - χρησιμοποιεί τη λειτουργία find_rects από το OpenMV. Μπορείτε να παίξετε με την τιμή κατωφλίου, αλλά η τιμή που έχω στο demo λειτουργεί αρκετά καλά για την εύρεση ορθογωνίων.
Εύρεση προσώπων, εύρεση ματιών - χρησιμοποιεί τη λειτουργία find_features με το Haar Cascades για τον εντοπισμό των ματιών και του μετωπικού προσώπου στην εικόνα. Μπορείτε να παίξετε με τις τιμές κατωφλίου και κλίμακας για τη σωστή αντιστάθμιση ταχύτητας-ακρίβειας.
Εύρεση άπειρων γραμμών - χρησιμοποιεί τη συνάρτηση find_lines για να βρει όλες τις άπειρες γραμμές στην εικόνα χρησιμοποιώντας τον μετασχηματισμό hough.
Ανίχνευση χρώματος - χρησιμοποιεί τη λειτουργία get_statistics για τη λήψη αντικειμένου εκατοστημορίου και στη συνέχεια μετατρέπει τις μέσες τιμές της πλειάδας LAB σε πλειάδα τιμών RGB. Έγραψα αυτό το παράδειγμα μόνος μου και λειτουργεί αρκετά καλά, αλλά λάβετε υπόψη ότι τα αποτελέσματα της ανίχνευσης χρώματος θα επηρεαστούν από τις συνθήκες φωτισμού περιβάλλοντος.
Μπορείτε να βρείτε πολλά ακόμη ενδιαφέροντα demos στο αποθετήριο github OpenMV! Είναι ως επί το πλείστον συμβατά με τον μικροπύθωνα MaiX Bit, το μόνο που πρέπει να θυμάστε είναι να προσθέσετε το sensor.run (1) μετά τη ρύθμιση του pixformat και του καρέ.
Ευτυχισμένος πειραματισμός με τον κώδικα OpenMV. Εάν έχετε οποιεσδήποτε ερωτήσεις ή θέλετε να μοιραστείτε μερικά από τα ενδιαφέροντά σας αποτελέσματα, μη διστάσετε να επικοινωνήσετε μαζί μου στο Youtube ή στο LinkedIn. Τώρα, με συγχωρείτε, θα πάω να φτιάξω μερικά ρομπότ!
Συνιστάται:
Ανίχνευση αντικειμένων με πίνακες Sipeed MaiX (Kendryte K210): 6 βήματα
Ανίχνευση αντικειμένων με πίνακες Sipeed MaiX (Kendryte K210): Ως συνέχεια του προηγούμενου άρθρου μου σχετικά με την αναγνώριση εικόνας με τους πίνακες Sipeed MaiX, αποφάσισα να γράψω ένα άλλο σεμινάριο, εστιάζοντας στην ανίχνευση αντικειμένων. Πρόσφατα εμφανίστηκε κάποιο ενδιαφέρον υλικό με το τσιπ Kendryte K210, συμπεριλαμβανομένου του S
Επίδειξη χαμηλού κόστους MR παιχνίδι: 9 βήματα
Επίδειξη χαμηλού κόστους MR Game: http://www.bilibili.com/video/av7937721/ (url βίντεο στην ηπειρωτική Κίνα) Over View: Ορίστε την εικόνα σήμανσης στη θήκη δύο αξόνων , Ο χρήστης το βλέπει από χαρτόνι , μπορεί να δει το τέρας να καλύπτεται σημάδι, πυροβολούν ο ένας τον άλλον στον κόσμο του παιχνιδιού. Χρησιμοποιήστε το AR για να καταλάβετε το στοίχημα γωνίας
Κάντε επίδειξη χρησιμοποιώντας ένα μπουκάλι μπύρας στο Maker Asylum: 6 βήματα
Make Display Using a Beer Bottel at Maker's Asylum: Γεια, αυτή η ιδέα του εγκεφάλου μου Αυτό λοιπόν προέρχεται από το άσυλο του Make έχουμε πάρα πολύ μπουκάλι μπύρας. Έτσι είχα μια ιδέα να φτιάξω μια οθόνη χρησιμοποιώντας ένα μπουκάλι μπύρας. έναν δημιουργικό τρόπο και διασκεδάστε Υλικό: Arduino WireWS2811 LED5v τροφοδοτικό
Arduino Atmospheric Tape Measure/ MS5611 GY63 GY86 Επίδειξη: 4 Βήματα (με Εικόνες)
Arduino Atmospheric Tape Measure/ MS5611 GY63 GY86 Demonstration: Αυτό είναι πραγματικά ένα βαρόμετρο/ υψόμετρο, αλλά θα δείτε τον λόγο για τον τίτλο κοιτάζοντας το βίντεο. Ο αισθητήρας πίεσης MS5611, που βρίσκεται στις σανίδες Arduino GY63 και GY86, προσφέρει εκπληκτική απόδοση Το Σε μια ήρεμη μέρα θα μετρήσει το
Φθηνό στήριγμα φορητού υπολογιστή / Μετατροπέας φορητού υπολογιστή σε επιτραπέζιο υπολογιστή: 3 βήματα
Φθηνό Laptop Stand / Notebook to Desktop Converter: Βρίσκομαι να χρησιμοποιώ τον φορητό υπολογιστή μου για μεγάλα χρονικά διαστήματα. Είναι άβολο μετά από λίγο. Το πληκτρολόγιο και η οθόνη θα πρέπει ιδανικά να είναι ξεχωριστά για να μειώσουν την καταπόνηση του λαιμού κατά τη διάρκεια παρατεταμένης χρήσης. Εάν είστε χρήστης φορητού υπολογιστή πλήρους απασχόλησης, σας προτείνω να δημιουργήσετε