Καταγραφή πραγματικού χρόνου με κάμερα, ατόμων πληρώματος και αναγνώριση αυτών, στο μηχανοστάσιο ενός πλοίου, με χρήση αλγορίθμων μηχανικής όρασης
Integrated dead man alarm for vessels’ engine room, with real time crew’s presence supervision and monitoring, using mechanical vision algorithms
Keywords
Μηχανική όραση ; Mechanical vision ; Νευρωνικά δίκτυα ; Python (Γλώσσα προγραμματισμού) ; OpenCV ; Ανίχνευση προσώπου ; Αναγνώριση προσώπου ; Πλοία ; Αλγόριθμοι ; Μηχανοστάσιο πλοίουAbstract
Στο πλαίσιο αυτής της Διπλωματικής Διατριβής, έγινε προσπάθεια να αναφερθούμε σε κάποια από τα χαρακτηριστικά των αλγορίθμων αναγνώρισης προσώπων, και να υλοποιηθεί ένας τέτοιος αλγόριθμος σε Python shell με τη χρήση της βιβλιοθήκης ανοικτού κώδικα OpenCV. Στόχος της εφαρμογής είναι η μέγιστη αποτελεσματικότητα με το ελάχιστο δυνατό κόστος. Όπως παρουσιάζεται παρακάτω, η αναγνώριση προσώπου με τη χρήση Μηχανικής Όρασης βασίζεται σε δυο διαφορετικές διαδικασίες. Η πρώτη εστιάζεται στο αν υπάρχει κάποιο πρόσωπο στο εξεταζόμενο αρχείο πραγματικού χρόνου (στην προκειμένη περίπτωση
καταγραφή βίντεο από μικροκάμερα). Η δεύτερη εστιάζεται στην εκπαίδευση του μοντέλου με συγκεκριμένα δεδομένα αυτόματα, και η σύγκριση των δεδομένων ώστε να κριθεί εάν ταιριάζουν ή όχι με κάποια κριτήρια που ορίζουμε εμείς. Επιπρόσθετα, και για την υλοποίηση της εφαρμογής “Dead Man Alarm” που χρησιμοποιείται βάσει κανονισμού σε μηχανοστάσια εμπορικών πλοίων, ο αλγόριθμος εξετάζει και αποφασίζει εάν τίθεται λόγος ειδοποίησης των άλλων μελών του πληρώματος σε περίπτωση που κατά την επιθεώρηση μηχανημάτων του πλοίου, εκτός κανονικού ωραρίου, βρεθεί μέλος του πληρώματος ακίνητο. Έτσι, μετά την επιγραμματική επεξήγηση των επιμέρους τμημάτων του αλγορίθμου, γίνεται αναλυτική παρουσίαση αυτού, καθώς και του χρησιμοποιούμενου εξοπλισμού. Τα αποτελέσματα του αλγορίθμου δείχνουν ότι αποδίδει καλά κάτω από τις δύσκολες συνθήκες
που επικρατούν στο μηχανοστάσιο του πλοίου (υψηλές θερμοκρασίες, κραδασμοί ασταθούς συχνότητας και διάρκειας, επικίνδυνα αέρια, κακός φωτισμός) αναγνωρίζοντας και ταυτοποιώντας κάποιο πρόσωπο, και στη συνέχεια εξετάζοντας εάν τίθεται λόγος ανησυχίας λόγω ξαφνικής ακινησίας κάποιου μέλους του πληρώματος.
Abstract
In the following chapters of this Thesis, an attempt was made to explain some of the face recognition algorithms and their features and implement such algorithms in Python shell using the OpenCV open source library. The goal of the application is maximum efficiency with the lowest possible cost. As shown below, face recognition using Mechanical Vision is based on two different processes. The first process focuses on whether there is a person in the real-time file in question (in this case live video stream using a web camera). On top of this, the second process focuses on training the model with specific data obtained from a pre-processed dataset and comparing these data with the live stream, in order to judge if the data fits some of the criteria we set, i.e. if a known person appears. In addition, for the implementation of the "Dead Man Alarm" application, which is used according to the Class regulations in commercial vessels’ machinery space, the algorithm examines and decides whether is there a reason to notify the other crew members in case of, during the inspection of vessel's machinery after normal hours on UMS mode, a crew member becomes alarmingly motionless. Thus, after the brief explanation of the individual parts of mentioned algorithm, there is a
detailed presentation of algorithm. In addition, short mention is given to the used hardware, which was chosen to be simple and cost-effective. The results of the algorithm show that it performs well under the adverse environmental conditions prevailing in the vessel's engine room (high temperatures, vibrations of unstable frequency and duration, dangerous gases, poor lighting) by recognizing and identifying a person. Finally, we examine whether sudden immobility of a crew member, i.e. not acknowledgement of the alarm after preset time, poses a reason of concern.