Aυτο-υποστηριζόμενο Ευφυές Σύστημα Αποθήκευσης και Κατηγοριοποίησης Εικόνων για Κινητές Συσκευές με χρήση Μοντέλων Βαθιάς Μάθησης – Self-supported Gallery app
Διπλωματική Εργασία


Επιβλέπων Ιάκωβος Βενιέρης
Συσχετιζόμενο μάθημα Δίκτυα Ευρείας Ζώνης

Περιγραφή

Στόχος της παρούσας διπλωματικής είναι η ανάπτυξη μιας εφαρμογής αποθήκευσης και κατηγοριοποίησης εικόνων (AI Gallery app) σε λειτουργικό σύστημα Android, βασισμένης σε τεχνολογίες Βαθιάς Μάθησης (Deep Learning).

Σύγχρονα Gallery apps εκτός από το να αποθηκεύουν τις φωτογραφίες του χρήστη, δίνουν επίσης τη δυνατότητα οι φωτογραφίες να κατηγοριοποιηθούν με βάση το περιεχόμενο τους (π.χ. τοπίο, πρόσωπο, ζώο, άθλημα, αντικείμενα, κλπ.) με στόχο τόσο την καλύτερη αναζήτηση όσο και την δημιουργία κολάζ ή συλλογών. Η τελική ετικέτα (label) μιας εικόνας μπορεί να παραχθεί είτε παρατηρώντας την εικόνα ως σύνολο (image classification) είτε τεμαχίζοντάς την και παρατηρώντας όλα τα αντικείμενα που την απαρτίζουν (object detection). Η κατηγοριοποίηση σε αυτές τις περιπτώσεις μπορεί να γίνει offline, χωρίς την αλληλεπίδραση με τον χρήστη (π.χ. όταν ο συνολικός φόρτος της συσκευής είναι μικρός ή όταν η συσκευή φορτίζει ώστε να μην σπαταλά σημαντικό ποσοστό ενέργειας). Τα βασικά κριτήρια αξιολόγησης είναι: (α) η ακρίβεια (accuracy) του δικτύου καθώς και (β) η απόδοση (throughput) αυτού, η οποία είναι συνάρτηση του χρόνου εκτέλεσης (inference time) και του μεγέθους δέσμης (batch size).

Η ανάπτυξη του παραπάνω συστήματος θα είναι end-to-end, δηλαδή ο σπουδαστής θα κληθεί αρχικά να σχεδιάσει το σύστημα και στη συνέχεια να το αναπτύξει με τελικό αποτέλεσμα την δημιουργία μιας Android εφαρμογής, η οποία θα δέχεται εικόνες, είτε από την κάμερα του κινητού, είτε από οπουδήποτε αλλού, θα τις κατηγοριοποιεί και θα τις αποθηκεύει. Οι υπολογισμοί για την κατηγοριοποίηση θα εκτελούνται στην κινητή συσκευή του χρήστη (on-device) χρησιμοποιώντας τους τοπικούς υπολογιστικούς πόρους. Mε αυτόν τον τρόπο, η εφαρμογή δε θα βασίζεται σε έναν απομακρυσμένο εξυπηρετητή για να προσφέρει τη λειτουργία κατηγοριοποίησης, αποφεύγοντας έτσι την ανάγκη συνεχούς σύνδεσης στο Διαδίκτυο, τον αυξημένο χρόνο απόκρισης λόγω της επικοινωνίας συσκευής-εξυπηρετητή, καθώς και των προβλημάτων προστασίας προσωπικών δεδομένων.

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

Η διπλωματική δίνει την δυνατότητα στον σπουδαστή να ασχοληθεί και να εξοικειωθεί με αλγορίθμους και τεχνολογίες Βαθιάς Μάθησης, την ανάπτυξη εφαρμογών κινητών συσκευών (mobile app development) και τη διασύνδεση των προηγούμενων δύο, δηλαδή την ενσωμάτωση της Βαθιάς Μάθησης σε κινητές συσκευές, έναν κλάδο ραγδαία αναπτυσσόμενο στις μέρες μας.

Απαιτούμενες βασικές γνώσεις: Android mobile app development (Java), Deep Learning frameworks for on-device applications (Tensorflow Lite), Python, Tensorflow.