Εφαρμογή αναγνώρισης εικόνων με AI

Εφαρμογή αναγνώρισης εικόνων με AI

Επίπεδο Δυσκολίας

Σε αυτό το εργαστήριο θα δημιουργήσουμε μια εφαρμογή η οποία θα αναγνωρίζει αντικείμενα τα οποία θα στοχεύουμε με την κάμερα του κινητού μας τηλεφώνου με την βοήθεια τεχνητής νοημοσύνης. Για να το πετύχουμε αυτό θα χρειαστούμε αρχικά να εγκαταστήσουμε ένα νέο extension στο AppInventor. Πηγαίνουμε στην σελίδα https://mit-cml.github.io/extensions/ και από εκεί κατεβάζουμε το LookExtension και το εισάγουμε στο AppInventor σύμφωνα με τις παρακάτω οδηγίες.

Κατεβάζουμε το LookExtension.aix στον υπολογιστή μας
Κάνουμε import το LookExtension στην κατηγορία extensions
Θα πρέπει να το βλέπουμε πλέον στα extensions

Το LookExtension μπορεί να έχει πρόσβαση στην κάμερα του κινητού μας και να προσπαθήσει να αναγνωρίσει το αντικείμενο που “βλέπει” με βάση ένα εκπαιδευμένο μοντέλο τεχνητής νοημοσύνης το οποίο έχει εκπαιδευτεί με χιλιάδες εικόνες. Εκτός από αυτό θα χρειαστούμε ένα webViewer για να βλέπουμε και εμείς την εικόνα από την κάμερα στην οθόνη. Επίσης θα χρειαστούμε και δύο πλήκτρα. Ένα για να αλλάζουμε μεταξύ της πίσω και της μπροστινής κάμερας του κινητού, καθώς και ένα για να ζητάμε να γίνει η αναγνώριση του αντικειμένου από το LookExtension. Επίσης θα χρειαστούμε και ένα label για να εμφανίζονται τα αποτελέσματα της αναγνώρισης, ενώ μπορούμε να βάλουμε και άλλο ένα κενό label για να δημιουργήσουμε ένα τεχνητό κενό ανάμεσα στα αποτελέσματα και το webviewer.

Η εφαρμογή μας περιλαμβάνει δύο label (ένα που θα μας δείχνει την κατάσταση και ένα κενό για να δημιουργήσουμε απλά χώρο), το webviewer, δύο πλήκτρα μέσα σε ένα horizontal arrangement (ένα για να ενεργοποιούμε το classification και ένα για να αλλάζουμε την κάμερα) και τέλος το look extension
Αρχικά το πλήκτρο Classify θα είναι απενεργοποιημένο. Θα το ενεργοποιούμε μόνο όταν έχει φορτώσει το μοντέλο AI
Στο look extension ορίζουμε την κατάσταση σε video (για να παίρνει ζωντανή εικόνα από την κάμερα του κινητού) και επίσης βάζουμε και το όνομα του webViewer στον οποίο θα φαίνεται η επιστροφή της κάμερας

Και τώρα ήρθε η ώρα του κώδικα. Πριν ξεκινήσουμε θα πρέπει να καταλάβουμε πως λειτουργεί το LookExtension. Όταν του ζητάμε να κάνει Classify μια εικόνα από την κάμερα, αυτό την στέλνει στην μηχανή ΤΝ που είναι εκπαιδευμένη και όταν είναι έτοιμα τα αποτελέσματα μας τα φέρνει πίσω. Τα αποτελέσματα είναι στην ουσία μια λίστα με πιθανά αντικείμενα με σειρά από το πιο πιθανό στο λιγότερο πιθανό. Μαζί με το αντικείμενο το LookExtension μας επιστρέφει και την πιθανότητα να είναι αυτό σε μορφή ποσοστού.

Αρχικά ρυθμίζουμε το πλήκτρο toggle το οποίο θα αλλάζει κάμερα
Όταν φορτώσει το μοντέλο AI στο look extension τότε ενεργοποιούμε το πλήκτρο Classify και αλλάζουμε την κατάσταση σε ready
Όταν πατηθεί το πλήκτρο classify ζητάμε από το look extension να πάρει τα δεδομένα και να προσπαθήσει να βρει ποιο αντικείμενο είναι μπροστά από την κάμερα
Το αποτέλεσμα του classfication είναι μια λίστα με πιθανά αντικείμενα τα οποία είναι ταξινομημένα από το πιο πιθανό ως το λιγότερο πιθανό. Μάλιστα μαζί με κάθε αντικείμενο το look extension μας επιστρέφει και το ποσοστό της πρόβλεψης. Εμείς θα εμφανίσουμε από αυτή την λίστα μόνο το πρώτο
Κάποιες φορές το look extension δεν μπορεί να λειτουργήσει λόγω διαφόρων προβλημάτων και επιστρέφει έναν κωδικό λάθους από το -1 ως το -7. Κάθε κωδικός είναι ξεχωριστό πρόβλημα. Με το παραπάνω σενάριο εμφανίζουμε την κατάσταση του λάθους.

Δοκιμάστε την εφαρμογή με το κινητό σας. Πως συμπεριφέρεται;

Πάμε να βελτιώσουμε την εφαρμογή

Προσπαθήστε να κάνετε αλλαγές στον κώδικα έτσι ώστε

  • Αν το ποσοστό του πρώτου αντικειμένου της λίστας είναι κάτω από 50% να μας βγάζει το μήνυμα: I can not recognize any object
  • Αν τα δύο πρώτα αντικείμενα της λίστας έχουν κοντινά ποσοστά (κάτω από 10% διαφορά) να μας βάζει ένα μήνυμα που να τα αναφέρει και τα δυο

Ενδεικτική λύση.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γιατί δεν ξεκινάτε τη συζήτηση;

Αφήστε μια απάντηση