Μάθε στο Maqueen να αναγνωρίζει και να ακολουθεί αντικείμενα

Αξιοποίησε την τεχνητή νοημοσύνη και προγραμμάτισε το ρομποτάκι σου να ακολουθεί τα αντικείμενα που του δείχνεις με τη βοήθεια της μηχανικής όρασης.

Ο κόσμος μέσα από τα μάτια μιας μηχανής

Η μηχανική όραση (machine vision) είναι ένα συναρπαστικό κομμάτι της τεχνολογίας, που επιτρέπει στους υπολογιστές να “βλέπουν” τον κόσμο όπως οι άνθρωποι. Αν το σκεφτείς, είναι σαν να δίνουμε στα ρομπότ μάτια για να βλέπουν γύρω τους και εγκεφάλους για να καταλαβαίνουν τι βλέπουν!

Φαντάσου ότι κρατάς μια φωτογραφική μηχανή και τραβάς μια φωτογραφία ενός σκύλου. Όταν εσύ κοιτάς τη φωτογραφία μπορείς αμέσως να καταλάβεις ότι αυτό που βλέπεις είναι ένας σκύλος. Η μηχανική όραση είναι η ικανότητα ενός υπολογιστή να κάνει το ίδιο. Ο υπολογιστής καταγράφει εικόνες μέσω μιας κάμερας και χρησιμοποιώντας ειδικά προγράμματα και αλγόριθμους, καταλαβαίνει το περιεχόμενο της εικόνας αναγνωρίζοντας τα αντικείμενα που περιέχονται σε αυτήν.

Αυτή η τεχνολογία είναι στενά συνδεδεμένη με την τεχνητή νοημοσύνη (AI) γιατί για να μπορέσει ο υπολογιστής να αναγνωρίσει αντικείμενα, χρειάζεται πρώτα να “μάθει” πώς μοιάζουν τα αντικείμενα αυτά. Η μηχανική όραση χρησιμοποιεί τεχνικές της τεχνητής νοημοσύνης -όπως η μηχανική μάθηση (machine learning)– για να καταλάβει τι “βλέπει”.

Η μηχανική όραση χρησιμοποιείται σε πολλές εφαρμογές γύρω μας. Μπορεί να μην το συνειδητοποιείς, αλλά την χρησιμοποιείς κάθε μέρα: Στην αναγνώριση προσώπου κατά το ξεκλείδωμα του τηλεφώνου χωρίς κωδικό, στα αυτόνομα οχήματα που αναγνωρίζουν σήματα κυκλοφορίας και πεζούς, στον προηγμένο υπολογισμό των επισκεπτών ενός καταστήματος, στον εντοπισμό προβλημάτων σε ακτινογραφίες και μαγνητικές τομογραφίες κατά την ιατρική διάγνωση κ.α.

Παρακολούθηση αντικειμένων με τη HuskyLens

Ένα από τα πιο ενδιαφέροντα εργαλεία που έχουν αναπτυχθεί για τη μηχανική όραση είναι η HuskyLens. Πρόκειται για μια μικρή συσκευή με κάμερα και οθόνη, που είναι σχεδιασμένη έτσι ώστε να μπορεί να χρησιμοποιηθεί πολύ εύκολα για διάφορα project. Η HuskyLens διαθέτει ενσωματωμένο μικροελεγκτή κατάλληλο για AI εφαρμογές και εκμεταλλεύεται την τεχνητή νοημοσύνη για να αναγνωρίσει αντικείμενα, πρόσωπα, γραμμές, χρώματα και πολλά άλλα. Είναι σαν να έχεις έναν μικρό υπολογιστή που βλέπει και καταλαβαίνει τον κόσμο γύρω του!

Η HuskyLens συνδέεται στην πλατφόρμα του Maqueen στους ακροδέκτες με την ένδειξη I2C. Μπορείς να επιλέξεις οποιαδήποτε τετράδα από τις τρεις που διαθέτει το Maqueen, για να επικοινωνήσει με τη HuskyLens μέσω του πρωτόκολλου I2C. Η σύνδεση είναι απλή μιας και τα χρώματα των τεσσάρων καλωδίων είναι αντίστοιχα με αυτά των ακροδεκτών του ρομπότ.

Για τον χειρισμό της HuskyLens χρησιμοποιούνται μόλις δύο κουμπιά:

  • Κουμπί λειτουργιών (Functional button): μικρή περιστροφή αριστερά/δεξιά ή απλό πάτημα.
  • Κουμπί εκμάθησης (Learning button): απλό πάτημα.

Η παρακολούθηση αντικειμένων (Object Tracking) είναι μία από τις πιο χρήσιμες και ενδιαφέρουσες λειτουργίες της HuskyLens. Όταν ενεργοποιηθεί αυτή η λειτουργία, η κάμερα της συσκευής αναγνωρίζει ένα αντικείμενο και “κλειδώνει” επάνω του σχεδιάζοντας συνεχώς γύρω του ένα πλαίσιο, ακόμα κι αν το αντικείμενο κινείται. Για να ενεργοποιήσεις τη λειτουργία Object Tracking αρχικά χρησιμοποίησε το κουμπί λειτουργιών για να κάνεις κάποιες ρυθμίσεις. Στρέψε το κουμπί προς τα αριστερά ή δεξιά μέχρι να εμφανιστεί η ένδειξη “Object Tracking” στην κορυφή της οθόνης.

Ακολούθως, πάτησε παρατεταμένα το κουμπί για να εισέλθεις στις ρυθμίσεις παραμέτρων της λειτουργίας Object Tracking. Έπειτα στρέψε το κουμπί προς τα δεξιά για να επιλέξεις “Learn Enable”, κάνε ένα σύντομο πάτημα και στη συνέχεια στρέψε και πάλι το κουμπί προς τα δεξιά για να ενεργοποιήσεις το “Learn Enable”, δηλαδή το τετράγωνο εικονίδιο στη γραμμή προόδου να μετακινηθεί προς τα δεξιά. Τέλος, πάτησε σύντομα ακόμα μία φορά το κουμπί λειτουργιών για να επιβεβαιώσεις αυτήν την παράμετρο. Η μέθοδος για να ενεργοποιήσεις την αυτόματη αποθήκευση μοντέλων “Auto Save” είναι η ίδια. Για να ολοκληρωθούν οι ρυθμίσεις στρέψε το κουμπί λειτουργιών προς τα αριστερά για να επιλέξεις “Save & Return” και κάνε ένα σύντομο πάτημα για να αποθηκεύσεις τις παραμέτρους των ρυθμίσεων.

Στη συνέχεια θα πρέπει να “εκπαιδεύσεις” HuskyLens να αναγνωρίζει το αντικείμενο που επιθυμείς χρησιμοποιώντας το κουμπί εκμάθησης. Στρέψε τη HuskyLens προς το στόχο, ρυθμίζοντας την απόσταση μέχρι το αντικείμενο, έτσι ώστε αυτό να περιλαμβάνεται εξ ολοκλήρου στο κίτρινο πλαίσιο στο κέντρο της οθόνης. Πάτησε παρατεταμένα το κουμπί για να πάρεις “δείγματα” του αντικειμένου από διάφορες γωνίες και αποστάσεις. Κατά τη διάρκεια της διαδικασίας εκμάθησης, ένα κίτρινο πλαίσιο με την ένδειξη “Learning:ID1” θα εμφανίζεται στην οθόνη. Κίνησε τη HuskyLens ή το στόχο και το πλαίσιο θα παρακολουθεί αυτόματα τον στόχο εμφανίζοντας την ένδειξη “Object:ID1”. Κατά την παρακολούθηση του αντικειμένου, η ένδειξη “Learning: ID1” θα εξακολουθεί να εμφανίζεται, υποδεικνύοντας ότι η HuskyLens εξακολουθεί να “μαθαίνει” ενώ παρακολουθεί το αντικείμενο.

Το Maqueen θα ακολουθεί το αντικείμενο-στόχο αξιοποιώντας δεδομένα όπως η θέση και το μέγεθος του εμφανιζόμενου στην οθόνη πλαισίου που το περιβάλλει. Έχοντας ανάλυση οθόνης 320×240, προκύπτει ότι το κεντρικό σημείο θα έχει συντεταγμένες (160, 120). Το ρομπότ θα κινείται αριστερά/δεξιά αξιοποιώντας τη x συνιστώσα του κέντρου του πλαισίου, ενώ θα κινείται μπροστά/πίσω με βάση το πλάτος ή το μήκος του μεταβαλλόμενου σε μέγεθος τετράγωνου πλαισίου.

Τι θα χρειαστείς

Ηλεκτρονικά μέρη

  • Κινητήρες
  • AI Camera – Vision Sensor

Έννοιες προγραμματισμού

  • Τελεστές σύγκρισης
  • Εντολές επανάληψης
  • Εντολές επιλογής

Προγραμματισμός με MakeCode

Για να προγραμματίσεις το Microbit με MakeCode ακολούθησε τις οδηγίες που θα βρεις εδώ:

Locked Buy Maqueen

Post navigation

Μάθε πολλαπλασιασμό με το BBC micro:bit!

Arduino Science Kit R3 – Επαναπροσδιορίστε την διδασκαλία της Φυσικής!

NVIDIA Jetson Developer Kits

LoRa: open source ασύρματη επικοινωνία για όλους