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



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




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