Σήμερα η Ψηφιακή Επεξεργασία Εικόνας και η Μηχανική Όραση βρίσκουν περισσότερες εφαρμογές από ποτέ. Τα αυτόνομα αυτοκίνητα για την κατανόηση του κόσμου γύρω τους μέσω των οπτικών αισθητηρίων τους, η επεξεργασία ιατρικών τομογραφιών για την εξαγωγή συμπερασμάτων για την ύπαρξη η όχι διαφόρων παθήσεων, η παρακολούθηση των γραμμών παραγωγής και ο εντοπισμός ανωμαλιών είναι μόλις μερικές από αυτές. Ταυτόχρονα, τα κατανεμημένα συστήματα αισθητήρων στο πλαίσιο του Internet of Things έχουν αυξανόμενη παρουσία στην καθημερινότητα των ανθρώπων. Πρόκειται για συστήματα ωστόσο με επεξεργαστική ισχύ που συνήθως δεν επαρκεί για την εκτέλεση πολύπλοκων και απαιτητικών σε πόρους αλγορίθμων, όπως αυτοί της Μηχανικής Όρασης. Η κλασσική προσέγγιση είναι ο συνδυασμός εντολών κώδικα και η εκτέλεσή του σε απομακρυσμένο κεντρικό υπολογιστή, όμως περισσότερο ενδιαφέρον παρουσιάζεται σε μία αυτοματοποιημένη προσέγγισή του, με χρήση γραφικών δομικών στοιχείων, που θα επιτρέψει σε άτομα κάθε ειδικότητας να μπορούν να ασχοληθούν με την δημιουργία ροών Μηχανικής Όρασης. Η συγκεκριμένη διπλωματική εστιάζει ακριβώς στην ανάπτυξη ενός τέτοιου συστήματος, για την ανάπτυξη ροών επεξεργασίας εικόνας σε περιβάλλον χαμηλού κώδικα, που θα εκτελούνται σε απομακρυσμένη τοποθεσία. Συγκεκριμένα, επιλέχθηκε το εργαλείο Node-RED ως η γραφική διεπαφή χρήστη και δημιουργήθηκε ένα πακέτο κόμβων για αυτό, στο οποίο κάθε κόμβος ζητά την εκτέλεση ενός αλγορίθμου επεξεργασίας εικόνας από έναν απομακρυσμένο διακομιστή. Επιπλέον, δημιουργήθηκε ο διακομιστής επεξεργασίας εικόνας, ο οποίος εκτελεί τους αντίστοιχους αλγορίθμους βασισμένος στις βιβλιοθήκες OpenCV και skimage, και είναι υπεύθυνος να κωδικοποιεί τα δεδομένα σε μορφές κατάλληλες τόσο για αποστολή στο δίκτυο όσο και για κατανόηση από τους αλγορίθμους. Οι δύο οντότητες επικοινωνούν μεταξύ τους μέσω μεσιτών (brokers) και μπορούν να προσπελαστούν και εξωτερικά. Τέλος, δημιουργήθηκαν τρία σενάρια χρήσης του συστήματος για την επεξεργασία μίας εικόνας, αλλά και χρονικής ακολουθίας εικόνων από ροές διαφόρων μεγεθών, και πραγματοποιήθηκαν πειράματα σχετικά με την απόδοση του συστήματος.
Static Analysis of Python code and Identification of Potential Security Vulne...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας με γραφικό τρόπο
1. 1
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Ανάπτυξη υποδομής για
δημιουργία ροών απομακρυσμένης
επεξεργασίας εικόνας
με γραφικό τρόπο
Διπλωματική Εργασία
Εκπόνηση:
Θεοδώρα Μιχαηλίδου
9067
Επίβλεψη:
Ανδρέας Συμεωνίδης
Καθηγητής
Εμμανουήλ Τσαρδούλιας
Ερευνητής
2. 2
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Κίνητρο
• Μηχανική Όραση: Απαιτητικοί
αλγόριθμοι
• IoT: Συσκευές χωρίς ή με μικρή
υπολογιστική ισχύ
• Low-Code: Γραφικός
προγραμματισμός
3. 3
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Στόχος της διπλωματικής
• Δημιουργία pipelines επεξεργασίας εικόνας / μηχανικής όρασης
• Γραφικός τρόπος
• Απομακρυσμένη εκτέλεση, σε υπολογιστή με αρκετή υπολογιστική
ισχύ
• Επικοινωνία: Πρωτόκολλα IoT
4. 4
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Παρόμοια εργαλεία
• Thingsboard, StreamPipes, κ.α.
• Συλλογή, ανάλυση IoT δεδομένων, flow-based
• Όχι δεδομένα εικόνας
• JIPipe, Zebra Aurora Vision Studio, OpenCV-flow, κ.α.
• Ροές επεξεργασίας εικόνας σε γραφικό περιβάλλον
• Όχι απομακρυσμένη εκτέλεση
• Όχι είσοδος δεδομένων από εξωτερικές πηγές, πχ με πρωτόκολλα IoT
5. 5
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Τεχνολογίες που χρησιμοποιήθηκαν
6. 6
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Αρχιτεκτονική του συστήματος
• Node-RED
• Μεσίτης MQTT
• Server επεξεργασίας
εικόνας
• Εξωτερική πηγή
δεδομένων, πχ κάμερα
αυτόνομου αυτοκινήτου
Επικοινωνία
• Βασισμένη σε broker
• Με topics
• Request / Response
7. 7
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Διεπαφή χρήστη
8. 8
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Διεπαφή χρήστη
• Πακέτο κόμβων
• 15 κατηγορίες
• ~60 κόμβοι
• Υλοποίηση σε JS
και HTML
9. 9
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Διεπαφή χρήστη
Κάθε κόμβος
• Είναι παραμετροποιήσιμος
• Δημιουργεί το αίτημα προς
τον server
• Λαμβάνει την απάντηση
• Την προωθεί στον επόμενο
κόμβο
10. 10
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Server επεξεργασίας εικόνας
• Σύνδεση και επικοινωνία
με τον broker MQTT
(commlib)
• Από-/Κωδικοποίηση των
δεδομένων
• Εκτέλεση συναρτήσεων
επεξεργασίας εικόνας
11. 11
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Server επεξεργασίας εικόνας - Κωδικοποίηση
Εικόνες, 2D πίνακες
• Για συμπίεση των δεδομένων, αλλά χωρίς απώλειες, και
• Για να μπορεί να εμφανιστεί στο Node-RED
• Κωδικοποίηση με PNG
• Δεδομένα κωδικοποιήσιμα σε JSON, λόγω commlib
• => όχι δυαδικά, όπως οι εικόνες
• Κωδικοποίηση σε Base64
Contour, ευθείες, κύκλοι κ.α.
• Απευθείας σε JSON
12. 12
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Πειράματα - Ροή 1
• Προσθήκη και αφαίρεση θορύβου
13. 13
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Πειράματα - Ροή 2
• Αναγνώριση λωρίδας κυκλοφορίας, πχ σε αυτόνομο αυτοκίνητο
• Δυνητικά επεξεργασία ακολουθίας χρονικά συσχετισμένων εικόνων
14. 14
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Πειράματα
- Ροή 3
• Κατάτμηση
πνευμόνων σε
αξονική
τομογραφία
• Ροή που
σχεδιάστηκε σε
paper του 2022
15. 15
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Πειράματα
- Ροή 3
• Κατάτμηση
πνευμόνων σε
αξονική
τομογραφία
• Ροή που
σχεδιάστηκε σε
paper του 2022
*Automated detection and segmentation of non-small cell lung cancer
computed tomography images, Sergey P. Primakov et al
16. 16
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Πειράματα
- Ροή 3
• Επανάληψη για
12 φέτες της
CT
• Με επανάληψη
για όλες
δημιουργείται
3D κατάτμηση
των πνευμόνων
17. 17
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Πειράματα – Μετρικές
Για κάθε κόμβο
• netTime: μεταξύ αποστολής του μηνύματος και λήψης της απάντησης από
το node-RED
• pyTime: συνολικής επεξεργασίας του μηνύματος στον python server
• funcTime: που αφορά αποκλειστικά τη συνάρτηση επεξεργασίας εικόνας
Για κάθε ροή
• totalTime: ο συνολικός χρόνος από την έναρξή της μέχρι το τέλος της
Έκτέλεση: 15 επαναλήψεις
18. 18
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Πειράματα – Συνθήκες
Server
Επεξεργασίας
Εικόνας
LAN
19. 19
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Αποτελέσματα
Ροή 1 Ροή 2
20. 20
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Αποτελέσματα
Ροή 3
Συνολικά
21. 21
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Συμπεράσματα
• Επιτυχής εκτέλεση μικρών και μεγάλων ροών επεξεργασίας εικόνας,
αλλά και ακολουθίας εικόνων με μικρό ρυθμό αποστολής
• Εξαγωγή χρονικών στατιστικών => συγκριτικά συμπεράσματα για
κόμβους, ροές
• ποιες διεργασίες ήταν πιο χρονοβόρες στον server
• ποια δεδομένα χρειάστηκαν πιο πολύ χρόνο από-/κωδικοποίησης
• ποια δεδομένα χρειάστηκαν πιο πολύ χρόνο για αποστολή στο δίκτυο
• Ο χρόνος επεξεργασίας αυξάνεται όσο αυξάνονται τα layers της
εφαρμογής (επεξεργασία στο server, απο-/κωδικοποίηση, μεταφορά
στο δίκτυο)
22. 22
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Μελλοντικές επεκτάσεις
• Περισσότεροι κόμβοι
• με προεκπαιδευμένα μοντέλα μηχανικής μάθησης, πχ tiny-YOLO, MediaPipe
• για πράξεις μεταξύ των Ν προηγούμενων frame (χρονικά συσχετισμένα
frames)
• Αύξηση του ρυθμού επεξεργασίας ενός frame
• Πολλαπλά νήματα με νεότερη έκδοση της commlib
• Πολλαπλοί server και δυναμική κατανομή των μηνυμάτων
• Αποστολή όλου του γράφου επεξεργασίας μαζί
=> Μείωση του χρόνου δικτύου
• Προσαρμογή του Node-RED ώστε κάθε χρήστης να έχει το δικό του
περιβάλλον εργασίας
23. 23
Ανάπτυξη υποδομής για δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας
με γραφικό τρόπο
Μάρτιος 2023
Ευχαριστώ για την προσοχή σας!
Ερωτήσεις;
Θεοδώρα Μιχαηλίδου