Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος

Αντικείμενο της εργασίας αποτελεί η σχεδίαση και ανάπτυξη ενός συστήματος πραγματικού χρόνου του οποίου η λειτουργία αφορά την επιτήρηση χώρων, με λήψη και επεξεργασία εικόνων με σκοπό την ανίχνευση και αναγνώριση προσώπων. Για το κομμάτι της επικοινωνίας στο σύστημά μας χρησιμοποιείται ένας κεντ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Κακαβάς, Νικόλαος
Άλλοι συγγραφείς: Οικονόμου, Γεώργιος
Μορφή: Thesis
Γλώσσα:Greek
Έκδοση: 2019
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/12536
id nemertes-10889-12536
record_format dspace
institution UPatras
collection Nemertes
language Greek
topic Αναγνώριση προσώπου
Apache Storm
OpenCV
Face recognition
Android
006.4
spellingShingle Αναγνώριση προσώπου
Apache Storm
OpenCV
Face recognition
Android
006.4
Κακαβάς, Νικόλαος
Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος
description Αντικείμενο της εργασίας αποτελεί η σχεδίαση και ανάπτυξη ενός συστήματος πραγματικού χρόνου του οποίου η λειτουργία αφορά την επιτήρηση χώρων, με λήψη και επεξεργασία εικόνων με σκοπό την ανίχνευση και αναγνώριση προσώπων. Για το κομμάτι της επικοινωνίας στο σύστημά μας χρησιμοποιείται ένας κεντρικός εξυπηρετητής ο οποίος υλοποιεί το MQTT πρωτόκολλο και ονομάζεται mosquitto. Η συλλογή των δεδομένων επιτυγχάνεται με τη χρήση ενσωματωμένων συστημάτων στα οποία έχει ανατεθεί η λήψη των φωτογραφιών και η αποστολή τους στον mosquitto εξυπηρετητή. Η υλοποίηση έχει γίνει με την αναπτυξιακή πλατφόρμα Raspberry Pi η οποία είναι εφοδιασμένη με κάμερα. Για την επίβλεψη των χώρων πραγματοποιείται αλγοριθμική επεξεργασία επί των εικόνων οι οποίες συλλέγονται με στόχο την ανίχνευση και αναγνώριση προσώπων. Η επεξεργασία αυτή ανατίθεται σε ένα κατανεμημένο σύστημα στο οποίο φτάνει η κάθε εικόνα μέσω του mosquitto. Για την υλοποίηση και διαχείριση του κατανεμημένου συστήματος χρησιμοποιείται το πλαίσιο λογισμικού Apache Storm, ενώ για την αλγοριθμική επεξεργασία αξιοποιείται η βιβλιοθήκη λογισμικού μηχανικής όρασης OpenCV. Για την άμεση ενημέρωση των διαχειριστών του συστήματος αναπτύξαμε μία εφαρμογή για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Μέσω της εφαρμογής αυτής ο διαχειριστής μπορεί να έχει άμεση πρόσβαση στις κάμερες του συστήματος και να λαμβάνει ενημερώσεις για την ανίχνευση και αναγνώριση προσώπων στους υπό επιτήρηση χώρους. Στο πρώτο κεφάλαιο γίνεται μία εισαγωγή στα συστήματα παρακολούθησης και στα IoT συστήματα, δύο πεδία τα οποία πλέον είναι άμεσα συνδεδεμένα μεταξύ τους. Επίσης γίνεται μία συνοπτική ανασκόπηση του συστήματος και των τεχνολογιών που χρησιμοποιήθηκαν για την ανάπτυξή του. Στο δεύτερο κεφάλαιο αναλύεται ο τρόπος με τον οποίο γίνεται η λήψη και αποστολή των εικόνων στο σύστημά μας. Αρχικά γίνεται αναφορά στο MQTT πρωτόκολλο μέσω του οποίου πραγματοποιείται η μεταφορά των δεδομένων. Στην συνέχεια, παρουσιάζονται οι προδιαγραφές της αναπτυξιακής πλατφόρμας Raspberry Pi και τα βασικά χαρακτηριστικά για την ανάπτυξη εφαρμογών στο λειτουργικό της. Τέλος, αναλύεται η ανάπτυξη της εφαρμογής επάνω στην πλατφόρμα, και παρατίθενται η δομή και τα βασικά χαρακτηριστικά του κώδικά που αναπτύχθηκε. Στο κεφάλαιο τρία γίνεται η παρουσίαση των χαρακτηριστικών της βιβλιοθήκης λογισμικού μηχανικής όρασης OpenCV και μία εκτεταμένη ανάλυση των αλγορίθμων που χρησιμοποιεί για την ανίχνευση και αναγνώριση προσώπων. Στην συνέχεια του κεφαλαίου, παρουσιάζεται η εκπαίδευση του μοντέλου για την αναγνώριση των επιθυμητών προσώπων και ο κώδικας με τον οποίο το σύστημά μας εκτελεί την επεξεργασία. Στο τέταρτο κεφάλαιο παρουσιάζεται η δομή ενός κατανεμημένου περιβάλλοντος και τα χαρακτηριστικά του πλαισίου λογισμικού Apache Storm στο οποίο βασίζεται το επεξεργαστικό κομμάτι του συστήματος. Επίσης παρατίθεται ο κώδικας με τον οποίο προσαρμόσαμε το κομμάτι της OpenCV επεξεργασίας επάνω στο κατανεμημένο σύστημα αλλά και ο τρόπος με τον οποίο έγινε η επικοινωνία του κατανεμημένου συστήματος με τον mosquitto. Στο πέμπτο κεφάλαιο αναπτύσσεται η εφαρμογή στο λειτουργικό Android. Αρχικά παρουσιάζονται οι λειτουργίες και τα γραφικά στοιχεία τα οποία χρησιμοποιήθηκαν στην ανάπτυξη της εφαρμογής. Στην συνέχεια, γίνεται ανάλυση των λειτουργιών που παρέχονται στον χρήστη και του κώδικα με τον οποίο έγινε η ανάπτυξη της εφαρμογής. Στο έκτο και τελευταίο κεφάλαιο παρατίθεται η συνολική λειτουργία του συστήματος καθώς και τα τελικά συμπεράσματα.
author2 Οικονόμου, Γεώργιος
author_facet Οικονόμου, Γεώργιος
Κακαβάς, Νικόλαος
format Thesis
author Κακαβάς, Νικόλαος
author_sort Κακαβάς, Νικόλαος
title Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος
title_short Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος
title_full Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος
title_fullStr Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος
title_full_unstemmed Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος
title_sort σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος
publishDate 2019
url http://hdl.handle.net/10889/12536
work_keys_str_mv AT kakabasnikolaos schediasēkaiylopoiēsēenossystēmatospragmatikouchronougiaanagnōrisēprosōpōnmetēnchrēsēenoskatanemēmenouperiballontos
AT kakabasnikolaos designandimplementationofarealtimesystemforfacerecognitionusingadistributedenviroment
_version_ 1771297124732895232
spelling nemertes-10889-125362022-09-05T04:45:08Z Σχεδίαση και υλοποίηση ενός συστήματος πραγματικού χρόνου για αναγνώριση προσώπων, με την χρήση ενός κατανεμημένου περιβάλλοντος Design and implementation of a real time system for face recognition, using a distributed enviroment Κακαβάς, Νικόλαος Οικονόμου, Γεώργιος Οικονόμου, Γεώργιος Αναστασόπουλος, Βασίλειος Αλεξίου, Γεώργιος Kakavas, Nikos Αναγνώριση προσώπου Apache Storm OpenCV Face recognition Android 006.4 Αντικείμενο της εργασίας αποτελεί η σχεδίαση και ανάπτυξη ενός συστήματος πραγματικού χρόνου του οποίου η λειτουργία αφορά την επιτήρηση χώρων, με λήψη και επεξεργασία εικόνων με σκοπό την ανίχνευση και αναγνώριση προσώπων. Για το κομμάτι της επικοινωνίας στο σύστημά μας χρησιμοποιείται ένας κεντρικός εξυπηρετητής ο οποίος υλοποιεί το MQTT πρωτόκολλο και ονομάζεται mosquitto. Η συλλογή των δεδομένων επιτυγχάνεται με τη χρήση ενσωματωμένων συστημάτων στα οποία έχει ανατεθεί η λήψη των φωτογραφιών και η αποστολή τους στον mosquitto εξυπηρετητή. Η υλοποίηση έχει γίνει με την αναπτυξιακή πλατφόρμα Raspberry Pi η οποία είναι εφοδιασμένη με κάμερα. Για την επίβλεψη των χώρων πραγματοποιείται αλγοριθμική επεξεργασία επί των εικόνων οι οποίες συλλέγονται με στόχο την ανίχνευση και αναγνώριση προσώπων. Η επεξεργασία αυτή ανατίθεται σε ένα κατανεμημένο σύστημα στο οποίο φτάνει η κάθε εικόνα μέσω του mosquitto. Για την υλοποίηση και διαχείριση του κατανεμημένου συστήματος χρησιμοποιείται το πλαίσιο λογισμικού Apache Storm, ενώ για την αλγοριθμική επεξεργασία αξιοποιείται η βιβλιοθήκη λογισμικού μηχανικής όρασης OpenCV. Για την άμεση ενημέρωση των διαχειριστών του συστήματος αναπτύξαμε μία εφαρμογή για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Μέσω της εφαρμογής αυτής ο διαχειριστής μπορεί να έχει άμεση πρόσβαση στις κάμερες του συστήματος και να λαμβάνει ενημερώσεις για την ανίχνευση και αναγνώριση προσώπων στους υπό επιτήρηση χώρους. Στο πρώτο κεφάλαιο γίνεται μία εισαγωγή στα συστήματα παρακολούθησης και στα IoT συστήματα, δύο πεδία τα οποία πλέον είναι άμεσα συνδεδεμένα μεταξύ τους. Επίσης γίνεται μία συνοπτική ανασκόπηση του συστήματος και των τεχνολογιών που χρησιμοποιήθηκαν για την ανάπτυξή του. Στο δεύτερο κεφάλαιο αναλύεται ο τρόπος με τον οποίο γίνεται η λήψη και αποστολή των εικόνων στο σύστημά μας. Αρχικά γίνεται αναφορά στο MQTT πρωτόκολλο μέσω του οποίου πραγματοποιείται η μεταφορά των δεδομένων. Στην συνέχεια, παρουσιάζονται οι προδιαγραφές της αναπτυξιακής πλατφόρμας Raspberry Pi και τα βασικά χαρακτηριστικά για την ανάπτυξη εφαρμογών στο λειτουργικό της. Τέλος, αναλύεται η ανάπτυξη της εφαρμογής επάνω στην πλατφόρμα, και παρατίθενται η δομή και τα βασικά χαρακτηριστικά του κώδικά που αναπτύχθηκε. Στο κεφάλαιο τρία γίνεται η παρουσίαση των χαρακτηριστικών της βιβλιοθήκης λογισμικού μηχανικής όρασης OpenCV και μία εκτεταμένη ανάλυση των αλγορίθμων που χρησιμοποιεί για την ανίχνευση και αναγνώριση προσώπων. Στην συνέχεια του κεφαλαίου, παρουσιάζεται η εκπαίδευση του μοντέλου για την αναγνώριση των επιθυμητών προσώπων και ο κώδικας με τον οποίο το σύστημά μας εκτελεί την επεξεργασία. Στο τέταρτο κεφάλαιο παρουσιάζεται η δομή ενός κατανεμημένου περιβάλλοντος και τα χαρακτηριστικά του πλαισίου λογισμικού Apache Storm στο οποίο βασίζεται το επεξεργαστικό κομμάτι του συστήματος. Επίσης παρατίθεται ο κώδικας με τον οποίο προσαρμόσαμε το κομμάτι της OpenCV επεξεργασίας επάνω στο κατανεμημένο σύστημα αλλά και ο τρόπος με τον οποίο έγινε η επικοινωνία του κατανεμημένου συστήματος με τον mosquitto. Στο πέμπτο κεφάλαιο αναπτύσσεται η εφαρμογή στο λειτουργικό Android. Αρχικά παρουσιάζονται οι λειτουργίες και τα γραφικά στοιχεία τα οποία χρησιμοποιήθηκαν στην ανάπτυξη της εφαρμογής. Στην συνέχεια, γίνεται ανάλυση των λειτουργιών που παρέχονται στον χρήστη και του κώδικα με τον οποίο έγινε η ανάπτυξη της εφαρμογής. Στο έκτο και τελευταίο κεφάλαιο παρατίθεται η συνολική λειτουργία του συστήματος καθώς και τα τελικά συμπεράσματα. The subject of the thesis is the design and development of a real-time system whose operation is related to the surveillance of areas through the capturing and processing of images, with the purpose of detecting and recognizing persons. In the part of communication our system uses a central broker which implements the MQTT protocol and is named mosquitto. The collection of data is achieved with the use of embedded systems that capture photos and send them to mosquitto broker. The technique uses the development platform Raspberry Pi which is equipped with camera. For the supervision of the areas, algorithmic processing is carried out on the images with the aim to detect and recognize persons. This processing is assigned to a distributed system where each image arrives though mosquitto. The Apache Storm framework is used to implement and manage the distributed system, while the algorithmic processing utilizes the OpenCV computer vision library. To immediately notify the system administrators, we developed an Android-powered mobile phone application. Through this application, the administrator can have direct access to the system cameras and receive notifications when human persons are detected and identified in the supervised areas. The first chapter is introductory to the surveillance systems and IoT systems, two fields that are strongly related to each other nowadays. In addition, a brief review of the system and the technologies used for its development is provided. The second chapter discusses how images are captured and sent through our system. First, we have a description of MQTT protocol through which the data are transferred. Next, the specifications of Raspberry Pi development platform and the basic features for developing applications on its operating system are presented. Finally, the application on the platform is developed, quoting the structure and key features of our code. The third chapter presents the characteristics of the OpenCV library along with an extensive analysis of the algorithms it uses for face detection and face recognition. The training of the model for recognizing the desirable persons and the code with which our system performs the processing are listed in this chapter. The fourth chapter is about the structure of a distributed environment and the features of Apache Storm software framework on which the processing part of our system is based on. The code which adapted the OpenCV processing part on the distributed system and the communication with the mosquitto broker are analyzed in detail. In the fifth chapter, the procedure of the implementation of android application is described. All the features and graphics that were used to deploy the application are presented. Moreover, the functionalities provided to the user and the analysis of the code with which the application was developed are also listed. The sixth and final chapter presents the overall functionality of the system as well as the final conclusions. 2019-09-26T21:12:30Z 2019-09-26T21:12:30Z 2018-09-11 Thesis http://hdl.handle.net/10889/12536 gr 0 application/pdf