Περίληψη: | Αντικείμενο της εργασίας αποτελεί η σχεδίαση και ανάπτυξη ενός συστήματος πραγματικού
χρόνου του οποίου η λειτουργία αφορά την επιτήρηση χώρων, με λήψη και επεξεργασία εικόνων
με σκοπό την ανίχνευση και αναγνώριση προσώπων.
Για το κομμάτι της επικοινωνίας στο σύστημά μας χρησιμοποιείται ένας κεντρικός εξυπηρετητής
ο οποίος υλοποιεί το MQTT πρωτόκολλο και ονομάζεται mosquitto. Η συλλογή των δεδομένων
επιτυγχάνεται με τη χρήση ενσωματωμένων συστημάτων στα οποία έχει ανατεθεί η λήψη των
φωτογραφιών και η αποστολή τους στον mosquitto εξυπηρετητή. Η υλοποίηση έχει γίνει με την
αναπτυξιακή πλατφόρμα Raspberry Pi η οποία είναι εφοδιασμένη με κάμερα. Για την επίβλεψη
των χώρων πραγματοποιείται αλγοριθμική επεξεργασία επί των εικόνων οι οποίες συλλέγονται με
στόχο την ανίχνευση και αναγνώριση προσώπων. Η επεξεργασία αυτή ανατίθεται σε ένα
κατανεμημένο σύστημα στο οποίο φτάνει η κάθε εικόνα μέσω του mosquitto. Για την υλοποίηση
και διαχείριση του κατανεμημένου συστήματος χρησιμοποιείται το πλαίσιο λογισμικού Apache
Storm, ενώ για την αλγοριθμική επεξεργασία αξιοποιείται η βιβλιοθήκη λογισμικού μηχανικής
όρασης OpenCV. Για την άμεση ενημέρωση των διαχειριστών του συστήματος αναπτύξαμε μία
εφαρμογή για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Μέσω της εφαρμογής αυτής ο
διαχειριστής μπορεί να έχει άμεση πρόσβαση στις κάμερες του συστήματος και να λαμβάνει
ενημερώσεις για την ανίχνευση και αναγνώριση προσώπων στους υπό επιτήρηση χώρους.
Στο πρώτο κεφάλαιο γίνεται μία εισαγωγή στα συστήματα παρακολούθησης και στα IoT
συστήματα, δύο πεδία τα οποία πλέον είναι άμεσα συνδεδεμένα μεταξύ τους. Επίσης γίνεται μία
συνοπτική ανασκόπηση του συστήματος και των τεχνολογιών που χρησιμοποιήθηκαν για την
ανάπτυξή του. Στο δεύτερο κεφάλαιο αναλύεται ο τρόπος με τον οποίο γίνεται η λήψη και αποστολή των εικόνων
στο σύστημά μας. Αρχικά γίνεται αναφορά στο MQTT πρωτόκολλο μέσω του οποίου
πραγματοποιείται η μεταφορά των δεδομένων. Στην συνέχεια, παρουσιάζονται οι προδιαγραφές
της αναπτυξιακής πλατφόρμας Raspberry Pi και τα βασικά χαρακτηριστικά για την ανάπτυξη
εφαρμογών στο λειτουργικό της. Τέλος, αναλύεται η ανάπτυξη της εφαρμογής επάνω στην
πλατφόρμα, και παρατίθενται η δομή και τα βασικά χαρακτηριστικά του κώδικά που
αναπτύχθηκε.
Στο κεφάλαιο τρία γίνεται η παρουσίαση των χαρακτηριστικών της βιβλιοθήκης λογισμικού
μηχανικής όρασης OpenCV και μία εκτεταμένη ανάλυση των αλγορίθμων που χρησιμοποιεί για
την ανίχνευση και αναγνώριση προσώπων. Στην συνέχεια του κεφαλαίου, παρουσιάζεται η
εκπαίδευση του μοντέλου για την αναγνώριση των επιθυμητών προσώπων και ο κώδικας με τον
οποίο το σύστημά μας εκτελεί την επεξεργασία. Στο τέταρτο κεφάλαιο παρουσιάζεται η δομή ενός κατανεμημένου περιβάλλοντος και τα
χαρακτηριστικά του πλαισίου λογισμικού Apache Storm στο οποίο βασίζεται το επεξεργαστικό
κομμάτι του συστήματος. Επίσης παρατίθεται ο κώδικας με τον οποίο προσαρμόσαμε το κομμάτι
της OpenCV επεξεργασίας επάνω στο κατανεμημένο σύστημα αλλά και ο τρόπος με τον οποίο
έγινε η επικοινωνία του κατανεμημένου συστήματος με τον mosquitto.
Στο πέμπτο κεφάλαιο αναπτύσσεται η εφαρμογή στο λειτουργικό Android. Αρχικά
παρουσιάζονται οι λειτουργίες και τα γραφικά στοιχεία τα οποία χρησιμοποιήθηκαν στην
ανάπτυξη της εφαρμογής. Στην συνέχεια, γίνεται ανάλυση των λειτουργιών που παρέχονται στον
χρήστη και του κώδικα με τον οποίο έγινε η ανάπτυξη της εφαρμογής.
Στο έκτο και τελευταίο κεφάλαιο παρατίθεται η συνολική λειτουργία του συστήματος καθώς και
τα τελικά συμπεράσματα.
|