Διπλωματική Εργασία. του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Διπλωματική Εργασία. του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ (Τ.&Τ.Π.) Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Τσέκα Γεωργίου του Διονυσίου Αριθμός Μητρώου : Θέμα : «Κατασκευή ενσωματωμένου συστήματος πλοήγησης ρομποτικού οχήματος με μεθόδους μηχανικής όρασης» Επιβλέπων Αν. Καθηγητής Ε. ΔΕΡΜΑΤΑΣ Αριθμός Διπλωματικής Εργασίας Πάτρα, Σεπτέμβριος 2016

2 2

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «Κατασκευή ενσωματωμένου συστήματος πλοήγησης ρομποτικού οχήματος με μεθόδους μηχανικής όρασης» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Τσέκα Γεωργίου του Διονυσίου Αριθμός Μητρώου: Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Ο Επιβλέπων Ο Διευθυντής του Τομέα Ε. Δερματάς Ν. Φακωτάκης Αναπληρωτής καθηγητής Καθηγητής 3

4 4

5 Αριθμός Διπλωματικής Εργασίας: Θέμα: «Κατασκευή ενσωματωμένου συστήματος πλοήγησης ρομποτικού οχήματος με μεθόδους μηχανικής όρασης» Φοιτητής: Επιβλέπων: Τσέκας Γεώργιος Ευάγγελος Δερματάς Αναπληρωτής καθηγητής Περίληψη Η παρούσα εργασία έχει ως αντικείμενο το σχεδιασμό ενός ενσωματωμένου συστήματος πλοήγησης ρομποτικού οχήματος με μεθόδους μηχανικής όρασης και στόχο τη δημιουργία και εφαρμογή των κατάλληλων αλγορίθμων για την προσομοίωση ενός συστήματος πραγματικού χρόνου. Η μέθοδος που θα εφαρμοστεί αποτελείται από έναν αναπτυγμένο αλγόριθμο μηχανικής όρασης που βασίζεται στην εκτίμηση της οπτικής ροής. Η προσομοίωση γίνεται με τη χρήση μίας μόνο κάμερας που αποτελεί το μοναδικό αισθητήρα του οχήματος. Η στρατηγική ελέγχου αναπτύσσεται μέσα από τις πληροφορίες που αποσπώνται από την οπτική ροή, η οποία υπολογίζεται με μεθόδους επεξεργασίας εικόνας, ενώ γίνεται επιτυχής αποφυγή συγκρούσεων και πλοήγηση σε χώρο με εμπόδια. Abstract The subject of this diploma thesis is the construction of an embedded system of navigation for a robotic vehicle using machine vision methods and the main goal is to develop and apply proper algorithms in order to simulate a real system. The applied method consists of a machine vision developed algorithm based on the estimation of optical flow. The simulation s main demand is the use of a single pinhole camera. The control strategy is being developed through the extracted information from the computed optical flow, which is calculated using image processing methods, while successful obstacle avoidance and navigation in a room with obstacles is achieved. 5

6 Ευχαριστίες Η παρούσα εργασία εκπονήθηκε κατά το ακαδημαικό έτος στη διάρκεια της φοίτησης μου στο έκτο έτος σπουδών στο τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών. Θα ήθελα στο σημείο αυτό να ευχαριστήσω όλους όσους συνέβαλαν στην ολοκληρωσή της : Καταρχάς, τον επιβλέποντα καθηγητή μου κ. Ε. Δερματά που με ενθάρρυνε να ασχοληθώ με το αντικείμενο αυτό καθώς και για τις χρήσιμες συμβουλές του καθόλη τη διάρκεια της εργασίας και για τον πολύτιμο του χρόνο που αφιέρωσε. Θα ήθελα ακόμη να ευχαριστήσω την οικογένεια μου και τους κοντινούς μου φίλους για τη στήριξη τους σε όλο το διάστημα των σπουδών μου αλλά και της εκτέλεσης και συγγραφής της παρούσας εργασίας, καθώς και τον πολύ καλό μου φίλο Γιώργο για τη στήριξη του και τις πολύτιμες συμβουλές του σε όλη τη διάρκεια της διπλωματικής μου εργασίας. 6

7 Πίνακας Περιεχομένων Περίληψη... 5 Ευχαριστίες Εισαγωγή Μηχανική όραση Ψηφιακή Επεξεργασία εικόνας Αναγνώριση Προτύπων Λειτουργικό σύστημα, περιβάλλον εργασίας και βιβλιοθήκες Το λειτουργικό σύστημα Η βιβλιοθήκη opencv Εγκατάσταση της opencv Η δομή της OpenCV Βασικά τεχνικά χαρακτηριστικά Γλώσσα και περιβάλλον προγραμματισμού Τρόπος προσέγγισης και ανάλυση της θεωρίας Αρχικές προσεγγίσεις Ανίχνευση κίνησης (motion detection) : Background substraction Oρισμός της οπτικής ροής Τεχνικές Εκτίμησης Οπτικής Ροής Τεχνική της συσχέτισης ( correlation based method ) Διαφορικές τεχνικές ( differential methods ) Feature Based Method Κύριες μέθοδοι υπολογισμού οπτικής ροής H τεχνική των Lucas-Kanade Τεχνική των Horn-Shunk Η Προσέγγιση με οπτική ροή Ο αλγόριθμος kmeans Εναλλακτικές προσεγγίσεις Σύνοψη Μελετη της σχετικής βιβλιογραφίας Souhila και Karim Οπτική ροή και κανόνες ελέγχου

8 4.1.2 Focus of Expansion (FOE) Time-to-contact ( TTC ) Βάθος πεδίου Η στρατηγική για την αποφυγή εμποδίων Low και Wyeth Thomas Jurriaans Σύνοψη Υλικό και επικοινωνία Το μικροϋπολογιστικό σύστημα A20 OLIMEX Περιγραφή του μικροϋπολογιστικου συστηματος Επικοινωνία με τον A Σύνδεση με κινητήρες και έλεγχος Κάμερα και λοιπά εξαρτήματα H κάμερα Ρόδες, κινητήρες, βάση για το όχημα Σύνδεση ακίδων GPIO Ανάπτυξη του αλγορίθμου και επικοινωνία με το υλικό Ανάπτυξη του αλγορίθμου αποφυγής εμποδίων Παράθεση κώδικα και επεξήγηση Στρατηγική αποφυγής εμποδίων Βελτίωση της στρατηγικής Πειραματικά αποτελέσματα και αξιολόγηση Υποθέσεις και συνθήκες περιβάλλοντος Η προσομοίωση Αξιολόγηση Μελλοντικές βελτιώσεις Σύνοψη Συμπεράσματα Παράρτημα Βιβλιογραφία

9 1. Εισαγωγή Τα τελευταία χρόνια οι αυτοματοποιημένες εργασίες αποτελούν ένα κλειδί στη διευκόλυνση της ζωής των ανθρώπων, σε πολλούς τομείς της καθημερινότητας τους. Ως εκ τούτου η χρήση κινητών robots και δη αυτόνομων, αλλά και η μεμονωμένη χρήση αισθητήρων που εφαρμόζονται στα robots είναι ευρέως διαδεδομένη. Συνεπώς, η ανάπτυξη νέων συστημάτων αυτόνομης κίνησης τους αλλά και η βελτιστοποίηση των ήδη υπαρχόντων, είναι ένας κλάδος που φαίνεται να παρουσιάζει μεγάλο ενδιαφέρον, με βάση την πλούσια βιβλιογραφία. Οι εφαρμογές πραγματικού χρόνου ( real time applications ) απαιτούν σύγχρονη τεχνολογία ώστε να εφαρμόζονται στα αυτόνομα κινητά robots. Η βασική απαίτηση είναι το αυξημένο επίπεδο απόκρισης και αξιοπιστίας του συστήματος με στόχο την βέλτιστη αυτονομία του. Αυτό επιτυγχάνεται κυρίως με ισχυρά, ως προς την υπολογιστική τους δύναμη, ηλεκτρονικά μέρη. Συνακόλουθος στόχος είναι η υλοποίηση με κατά το δυνατόν ευρέως διαθέσιμα απάρτια έτσι ώστε να επιτυγχάνεται η οικονομικότητα της κατασκευής. Η αυτονομία σημαίνει ότι το robot πρέπει να βασίζεται στην ικανότητα του να λαμβάνει επαρκείς πληροφορίες πλοήγησης από τους αισθητήρες του και να παίρνει αποφάσεις από μόνο του σχετικά με τις άμεσες κινήσεις του. Η πλοήγηση, λοιπόν, είναι μια διαδικασία δύσκολη λόγω πολλών και πολύπλοκων προβλημάτων. Μερικά από αυτά είναι οι περιορισμοί στην υπολογιστική δύναμη του συστήματος, οι δυσκολίες στον εντοπισμό, την αναγνώριση και την παρακολούθηση των αντικειμένων και την μετάφραση των στοιχείων του περιβάλλοντος προκειμένου να αποφευχθεί η σύγκρουση με τα αντικείμενα. Το αντικείμενο της παρούσας εργασίας είναι η κατασκευή ενός ενσωματωμένου συστήματος πλοήγησης ρομποτικού οχήματος με μεθόδους μηχανικής όρασης. Ένα τέτοιο σύστημα μπορεί να έχει εφαρμογή σε αυτοκίνητα προς αποφυγή σύγκρουσης με προπορευόμενα οχήματα, πεζούς αλλά και αντικείμενα στο περιβάλλον τους, καθώς και άλλες χρήσεις όπως σε robots καθαρισμού χώρων, robots για χαρτογράφηση περιοχής υψηλού και μη κινδύνου, και γενικά σε εφαρμογές που η ανθρώπινη καθοδήγηση δεν είναι απαραίτητη ή επιθυμητή. Η γενική απαίτηση για την προσέγγιση και λύση του προβλήματος στην παρούσα εργασία είναι η χρήση μεθόδων μηχανικής όρασης, και συγκεκριμένα μίας και μοναδικής κάμερας έτσι ώστε να διατηρηθεί το κόστος μελλοντικής κατασκευής του ολοκληρωμένου συστήματος χαμηλό, αλλά και για να γίνει εφαρμογή της επεξεργασίας εικόνας και βίντεο στη λύση του προβλήματος. Γίνεται τώρα μία σύντομη εισαγωγή στις κυρίαρχες έννοιες επιστημονικά πεδία που θα χρησιμοποιηθούν σε αυτή τη διπλωματική. 9

10 1.1 Μηχανική όραση Η μηχανική ή υπολογιστική όραση (machine/computer vision) είναι το αντικείμενο που θα μας απασχολήσει σε αυτή την εργασία. Πρόκειται για ένα επιστημονικό πεδίο της τεχνητής νοημοσύνης το οποίο επιχειρεί να αναπαράγει αλγοριθμικά την αίσθηση της όρασης, συνήθως σε ηλεκτρονικό υπολογιστή ή ρομπότ. Περιλαμβάνει μεθόδους ανάκτησης, επεξεργασίας, ανάλυσης και κατανόησης εικόνων και γενικότερα δεδομένων υψηλών διαστάσεων από το περιβάλλον με σκοπό την εξαγωγή αριθμητικών ή λογικών αποτελεσμάτων όπως για παράδειγμα μία απόφαση. Αυτό είναι ένα αρκετά δύσκολο έργο, αν αναλογιστεί κανείς ότι ο στόχος είναι η κατασκευή ενός συστήματος που πρέπει να μιμείται την ανθρώπινη όραση, η οποία αποτελεί μία αρκετά πολύπλοκη διαδικασία. Ιστορικά η υπολογιστική όραση αναδύθηκε μετά το 1980 ως αποτέλεσμα επέκτασης του πεδίου της πληροφορικής το οποίο καλείται ψηφιακή επεξεργασία εικόνας σε αλγορίθμους ανάλυσης και κατανόησης εικόνων. Είχαν προηγηθεί η μαθηματική μοντελοποίηση της φυσική όρασης, έστω σε ένα βασικό επίπεδο, και οι πρώτες προσπάθειες για αναπαραγωγή της αίσθησης της όρασης σε αυτόνομα ρομπότ. Ως τότε ο όρος μηχανική όραση σχετιζόταν με την ηλεκτρολογία και τη ρομποτική συνήθως σε βιομηχανικό πλαίσιο. Κατά τη δεκαετία του 1980, μετά την εμφάνιση της υπολογιστικής όρασης, οι δύο όροι σταδιακά συνέκλιναν και συγχωνεύθηκαν ως επιστημονικά πεδία, σαν διακριτός τομέας της τεχνητής νοημοσύνης με εφαρμογές όχι μόνο στη ρομποτική αλλά και σε δεκάδες ακόμα κλάδους. Από τη δεκαετία του 1990 και έπειτα η μηχανική όραση έχει γνωρίσει αλματώδη ανάπτυξη, έχει συνδεθεί με το γνωστικό πεδίο της μηχανικής μάθησης και έχει δώσει σημαντικά απτά αποτελέσματα, με αλγορίθμους όρασης πραγματικού χρόνου να υλοποιούνται ακόμα και σε φτηνά κινητά τηλέφωνα εξοπλισμένα με κάμερα. Στο εν λόγω πλαίσιο, η μηχανική όραση έχει διαδραματίσει θεμελιώδη ρόλο στην εξέλιξη της ενισχυμένης πραγματικότητας. Η μηχανική όραση επιδιώκει να εφαρμόσει θεωρίες και μοντέλα στην κατασκευή μηχανικών συστημάτων με δυνατότητα όρασης. Τέτοια παραδείγματα εφαρμογών σε συστήματα είναι τα εξής : 1. Έλεγχος διαδικασιών (π.χ. ένα βιομηχανικό ρομπότ ή ένα αυτόνομο όχημα) 2. Ανίχνευση συμβάντων (π.χ. οπτική επιτήρηση) 3. Οργάνωση πληροφοριών (π.χ. ευρετηριοποίηση βάσεων δεδομένων και ακολουθιών εικόνων) 4. Εξομοίωση αντικειμένων και περιβαλλόντων (π.χ. βιομηχανική επιθεώρηση, ιατρική ανάλυση εικόνας ή τοπογραφική εξομοίωση) 5. Αλληλεπίδραση χρηστών με υπολογιστικά συστήματα (π.χ. ως είσοδος σε μια συσκευή επικοινωνίας ανθρώπου / μηχανής). Η υπολογιστική όραση είναι συγγενές πεδίο με την επεξεργασία εικόνας και την μηχανική όραση (machine vision). Γύρω από αυτά τα πεδία αναπτύσσονται εφαρμογές σε τομείς όπως οι ακόλουθοι : 10

11 Σχήμα 1.1 : Εικονική αναπαράσταση της σχέσης ανάμεσα στα συναφή επιστημονικά πεδία 1.2 Ψηφιακή Επεξεργασία εικόνας Ψηφιακή επεξεργασία εικόνας ονομάζεται κάθε μορφή αλγοριθμικής επεξεργασίας, ανάλυσης και χειρισμού ψηφιακών δεδομένων εικόνας ή βίντεο, όπως και το σχετικό επιστημονικό πεδίο της πληροφορικής. Στην επεξεργασία εικόνας, τόσο η είσοδος όσο και η έξοδος των υπολογισμών είναι δεδομένα εικόνας ή βίντεο (έγχρωμα, απρόμαυρα ή σε αποχρώσεις του γκρίζου(grayscale) ). Τύποι επεξεργασίας Γεωμετρικές μετατροπές : Αλλαγή στο μέγεθος ολόκληρης ή τμήματος της εικόνας, περιστροφή, παραμόρφωση, αλλαγή προοπτικής, αλλαγή ανάλυσης κλπ. Χρωματικές μετατροπές και διορθώσεις : Αλλαγή των χρωματικών τόνων μιας εικόνας, ρύθμιση φωτεινότητας, αντίθεσης, αλλαγή του χρωματικού χώρου (μοντέλου), π.χ. από RGB σε CMYK. Συμπίεση και μετατροπή της μορφής αποθήκευσης μιας εικόνας στον υπολογιστή π.χ. από μορφή.jpg σε μορφή.tif. Eφαρμογή φίλτρων με στόχο τη βελτίωση της ποιότητας της εικόνας ή τον τονισμό γνωρισμάτων της (αφαίρεση αμυχών, εξάλειψη φαινομένου «κόκκινων ματιών» από εικόνες προσώπων, ανίχνευση ακμών και τονισμός των περιγραμμάτων, μείωση θορύβου κλπ). Ανάμιξη δύο ή περισσότερων στοιχείων ώστε να αποτελούν μία φωτογραφία (φωτομοντάζ) 11

12 Κατάτμηση της εικόνας σε περιοχές, με στόχο τον καθορισμό των τομέων ενδιαφέροντος στην εικόνα( Regions of Interest,ROI).Ενδεικτικά μπορεί να γίνει δυαδική κατάτμηση σε προσκήνιο και παρασκήνιο. Αποκατάσταση με στόχο την εξαγωγή μιας «ορθής» εκδοχής της εικόνας από μία παραμορφωμένη/ενθόρυβη εικόνα εισόδου. 1.3 Αναγνώριση Προτύπων Η αναγνώριση προτύπων (pattern recognition) είναι ένα επιστημονικό πεδίο της μηχανικής μάθησης που έχει στόχο την ανάπτυξη αλγορίθμων για την ταξινόμηση αντικειμένων σε κατηγορίες ή κλάσεις. Ανάλογα με την εφαρμογή, τα αντικείμενα αυτά μπορεί να είναι εικόνες, κυματομορφές σημάτων, βίντεο ή οποιοδήποτε άλλο είδος μετρήσεων που χρειάζεται να ταξινομηθεί. Το ερευνητικό ενδιαφέρον για την αναγνώριση προτύπων έχει μακρά ιστορία, αλλά πριν την δεκαετία του 1960 ήταν κυρίως προϊόν θεωρητικής έρευνας στην περιοχή της στατιστικής. Από το 1960 και μετά, εξαιτίας της αλματώδης ανάπτυξης του τομέα της πληροφορικής και της εξέλιξης των ηλεκτρονικών υπολογιστών, έδωσε νέες δυνατότητες για πρακτικές εφαρμογές. 12

13 2. Λειτουργικό σύστημα, περιβάλλον εργασίας και βιβλιοθήκες Στο παρόν κεφάλαιο θα γίνει η εισαγωγή στη βιβλιοθήκη opencv, στον τρόπο εγκατάστασης της στο λειτουργικό σύστημα Linux και στην περιγραφή των λειτουργιών της. Ακόμη, θα αναφερθεί η γλώσσα προγραμματισμού που χρησιμοποιήθηκε καθώς και το προγραμματιστικό περιβάλλον. 2.1 Το λειτουργικό σύστημα Το Ubuntu Linux είναι το λειτουργικό που επιλέχθηκε να χρησιμοποιηθεί στην διπλωματική αυτή, βασισμένο εξ ολοκλήρου στο λειτουργικό Linux και ελεύθερο στην πρόσβαση. Έχει αναπτυχθεί από μια μεγάλη κοινότητα ανθρώπων και είναι μια διανομή βασισμένη στο Debian, μία από τις πιο αξιόπιστες διανομές Linux. Προτιμήθηκε για την καλή υποστήριξη του σε hardware και το φιλικό του περιβάλλον εργασίας. Η έκδοση που χρησιμοποιήθηκε είναι η Η βιβλιοθήκη opencv Ως βιβλιοθήκη για την επεξεργασία εικόνας επιλέχτηκε η OpenCV (Open Source Computer Vision Library). Eίναι μια βιβλιοθήκη μηχανικής όρασης ανοικτού λογισμικού που αναπτύχθηκε αρχικά από την Intel και κυκλοφορεί υπό BSD άδεια. Αυτό σημαίνει ότι μπορεί να γίνει ελεύθερη χρήση όλης ή μέρους της βιβλιοθήκης για την ανάπτυξη ενός εμπορικού ή ερευνητικού προιόντος από οποιονδήποτε. Έχει σχεδιαστεί με στόχο την υψηλή υπολογιστική αποδοτικότητα με ιδιαίτερη έμφαση σε εφαρμογές μηχανικής όρασης πραγματικού χρόνου (real time) όπως συστήματα αναγνώρισης χαρακτηριστικών προσώπων, προηγμένα ρομποτικά συστήματα, συστήματα ανίχνευσης κίνησης. 13

14 Όντας γραμμένη σε βελτιστοποιημένη C/C++ η βιβλιοθήκη αυτή μπορεί να εκμεταλλευτεί την πολυπύρηνη επεξεργασία. Αποτελείται απο περισσότερες από 500 συναρτήσεις,ενώ είναι ανεξάρτητη πλατφόρμας και παρέχει συναρτήσεις σε C, C++, Python και Java (Android). H OpenCV περιέχει συναρτήσεις κατάλληλες για πολλές διαφορετικές εφαρμογές στους τομείς της οπτικής επεξεργασίας. Διαθέτει επίσης βιβλιοθήκη μηχανικής μάθησης που περιλαμβάνει εργαλεία για ομαδοποίηση και στατιστική ταξινόμηση καθώς και συναρτήσεις για τη προβολή και την αποθήκευση των βίντεο και γενικά ό,τι έχει να κάνει με τη διεπαφή χρήστη-εφαρμογής. Τα κυριότερα πλεονεκτήματα χρήσης της OpenCV είναι η ταχύτητά της, το γεγονός ότι αποτελεί ελεύθερο λογισμικό καθώς και η απλότητα στη χρήση της. Διαθέσιμες εκδόσεις και υποστηριζόμενα λειτουργικά συστήματα Η OpenCV είναι διαθέσιμη σε Linux, Mac OS και Windows. Η τελευταία της έκδοση μπορεί να βρεθεί στο Sourceforge. Η πρωτη έκδοση ανακοινώθηκε το 2000 στο συνέδριο Computer Vision and Pattern Recognition και από τότε ενημερώνεται συνεχώς Εγκατάσταση της opencv Οδηγίες για την εκτατάσταση της βιβλιοθήκης opencv στο λειτουργικό Unix (Linux), που είναι και αυτό που χρησιμοποιείται σε αυτή τη διπλωματική βρίσκονται στην εξής ιστοσελίδα : Η δομή της OpenCV Η OpenCV έχει σπονδυλωτή δομή. Πρόκειται δηλαδή για μια μεγάλη βιβλιοθήκη που αποτελείται από μικρότερα τμήματα τα οποία μπορεί κανείς να συμπεριλάβει μεμονωμένα στο πρόγραμμα του. 14

15 Τα σημαντικότερα τμήματα (modules) τής είναι τα εξής : core : Ορίζει βασικές δομές δεδομένων,όπως ο πολυδιάστατος πίνακας Mat και συναρτήσεις που χρησιμοποιούνται από όλα τα υπόλοιπα τμήματα imgproc : Ένα τμήμα επεξεργασίας εικόνας που περιλαμβάνει φίλτρα, γεωμετρικούς και χρωματικούς μετασχηματισμούς εικόνων video: Ένα τμήμα ανάλυσης video, που περιλαμβάνει μεταξύ άλλων αλγορίθμους ανίχνευσης κίνησης, αφαίρεσης background και παρακολούθησης αντικειμένων calib3d : features2d : objdetect: highgui: gpu: Περιλαμβάνει βασικούς αλγορίθμους επεξεργασίας λήψεων πολλαπλών καμερών,αντιστοίχησης σημείων και τρισδιάστατης αναπαράστασης. Περιλαμβάνει αλγορίθμους εξαγωγής χαρακτηριστικών. Ανίχνευση προκαθορισμένων αντικειμένων όπως πρόσωπα,μάτια αυτοκίνητα κλπα. Μια εύκολη στη χρήση διεπαφή για κωδικοποίηση εικόνας και βίντεο καθώς και με δυνατότητες διαδραστικότητας του χρήστη. Αλγόριθμοι που έχουν επιταχυνθεί μέσω παραλληλοποίησης. Δεν πρόκειται για ένα μόνο τμήμα αλλά για ένα σύνολο αλγορίθμων διαμοιρασμένων σε διάφορα τμήματα. 15

16 2.2.3 Βασικά τεχνικά χαρακτηριστικά Namespace : Οι κλάσεις και οι συναρτήσεις της OpenCV ανήκουν στο cv namespace. Έτσι, προκειμένου να τις χρησιμοποιήσει κάποιος εκτός από το να συμπεριλάβει (include) κάποιο από τα τμήματα της βιβλιοθήκης στον κώδικα του, να προσθέσει τον προσδιοριστή cv:: μπροστά από το όνομα της κάθε κλάσης ή συνάρτησης η οποία ανήκει στην OpenCV. Διαφορετικά μπορεί να χρησιμοποιήσει την εντολή using namespace cv ; στην αρχή του κώδικα. Στην περίπτωση που μια συνάρτηση της OpenCV έχει το ίδιο όνομα με μια συνάρτηση κάποιας άλλης βιβλιοθήκης τότε πρέπει να χρησιμοποιηθεί αποκλειστικά ο cv:: προσδιοριστής. Αυτόματη διαχείρηση μνήμης : Η OpenCV αναλαμβάνει εξ ολοκλήρου τη διαχείρηση της μνήμης. Δε δεσμεύει μόνο την απαραίτητη μνήμη κατά την αρχικοποίηση μιας δομής δεδομένων, αλλά φροντίζει ώστε ο συγκεκριμένος τομέας μνήμης να μην αποδεσμευτεί όσο υπάρχουν αναφορές σε αυτόν ακόμα και αν η αρχική δομή διαγραφεί. Διαχείρηση λαθών Η OpenCV διαχειρίζεται τα σημαντικότερα λάθη μέσω exceptions. Ένα λάθος προκύπτει στην περίπτωση που τα δεδομένα εισόδου είναι κατάλληλου τύπου και ανήκουν στο σωστό εύρος τιμών, αλλά ο αλγόριθμος για κάποιο λόγο δε λειτουργεί σωστά. Στην περίπτωση αυτή επιστρέφει ένας ειδικός κωδικός λάθους. Τα exceptions είναι στιγμιότυπα της κλάσης cv::exveption, η οποία είναι υποκλάση της std::exception. Έτσι μπορούμε να τα διαχειριστούμε χρησιμοποιώντας τα εργαλεία που μας προσφέρει η C++ για αυτόν τον σκοπό ( throw, try, catch ). 2.3 Γλώσσα και περιβάλλον προγραμματισμού Η γλώσσα προγραμματισμού που χρησιμοποιήθηκε είναι η αντικειμενοστραφής γλώσσα προγραμματισμού c++, βασισμένη πάνω στη γλώσσα προγραμματισμού c, αφενός διότι υποστηρίζεται πλήρως από την OpenCV,αφετέρου επειδή είναι γρήγορη και αποτελεσματική σε εφαρμογές επεξεργασίας εικόνας και βίντεο. Επιπλέον έχει το πλεονέκτημα της εύκολης φορητότητας των προγραμμάτων που μπορούν να μεταγλωττιστούν και να τρέξουν σε οποιοδήποτε υπολογιστικό σύστημα. 16

17 Το Περιβάλλον προγραμματισμού Eclipse IDE Ως περιβάλλον προγραμματισμού επιλέχθηκε το Eclipse IDE for C/C++ Developers [36]. Αποτελεί πολύ καλή επιλογή λόγω της καλής του οργάνωσης των πρότζεκτ και του κώδικα, καθώς δημιουργεί φάκελο που περιέχονται όλα τα αρχεία και είναι εύκολα προσπελάσιμα. Ακόμη, είναι περιβάλλον φιλικό προς το χρήστη, γρήγορο και εύχρηστο χωρίς προβλήματα και λάθη. 17

18 3. Τρόπος προσέγγισης και ανάλυση της θεωρίας Στο παρόν κεφάλαιο θα αναλυθούν οι πρώτες σκέψεις για την αντιμετώπιση του προβλήματος της ανίχνευσης κίνησης έχοντας ως απώτερο σκοπό την ανίχνευση και την αποφυγή εμποδίων. Αναλύονται σταδιακά ορισμένες προτάσεις και ορισμένες απορρίπτονται προς εύρεση της βέλτιστης μεθόδου. 3.1 Αρχικές προσεγγίσεις Ανίχνευση κίνησης (motion detection) : Ξεκινήσαμε με απλές διαδικασίες εντοπισμού κίνησης [35], όπως την ανίχνευση αντικειμένων με συγκεκριμένο χρώμα. Για τον σκοπό αυτό χρησιμοποιήθηκε ένα βίντεο με ένα κόκκινο μπαλάκι που κινούσαμε χειροκίνητα μπροστά σε ένα λευκό τοίχο, προκειμένου να υπάρχει έντονη χρωματική αντίθεση. Ανίχνευση χρώματος Αρχικά ο στόχος μας ήταν να ανιχνεύσουμε την κίνηση ενός συγκεκριμένου χρώματος σε μια ακολουθία βίντεο/frames, συγκεκριμένα του κόκκινου. Για ένα εύρος τιμών που αντιστοιχούν σε κόκκινο φιλτράρουμε κάθε frame και έτσι απεικονίζουμε την εικόνα σε δυαδική απεικόνιση (μαύρο - άσπρο). Η επιλογή των ορίων γίνεται βάση των HSV(Hue-Saturation-Value) τιμών της εικόνας και όχι των RGB τιμών. Έτσι για το κόκκινο ενδεικτικά το εύρος αυτό κυμαίνεται όπως φαίνεται στον παρακάτω πίνακα : 18

19 Σχήμα 3.1 GUI για επιλογή τιμών των παραμέτρων H,S,V Εφαρμόζοντας αυτή την τεχνική στο προαναφερθέν απόσπασμα βίντεο καταλήξαμε στα ακόλουθα αποτελέσματα : 19

20 Σχήμα 3.2 Αποτελέσματα τεχνικής ανίχνευσης χρώματος Παρατηρούμε ότι τα αποτελέσματα είναι μεν σωστά, ωστόσο δεν έχουν καθόλου καλή ακρίβεια και αποτελούν απλώς το πρώτο στάδιο μιας διαδικασίας που χρήζει βελτίωσης. Σημαντικό ρόλο στην αποτελεσματικότητα του αλγορίθμου παίζει και το γεγονός ότι το βίντεο δεν είχε τραβηχτεί υπό τις βέλτιστες συνθήκες, καθώς και το γεγονός ότι το κόκκινο χρώμα δεν είναι τόσο έντονο, αλλά πιο σκούρο κόκκινο από την απόλυτη τιμή του σε RGΒ κλίμακα (δηλαδή FF0000). Επιχειρώντας να βελτιώσουμε περαιτέρω το αποτέλεσμα, χρησιμοποιήθηκε αλγόριθμος που παρακολουθεί την κίνηση του κόκκινου αντικειμένου και καταγράφει την τροχιά του. Η βασική λογική του είναι να βρει περίπου που βρίσκεται το κέντρο του κόκκινου αντικειμένου και να τραβήξει μια κόκκινη γραμμή από το ένα σημείο στο άλλο καθώς αυτά κινούνται κατά τη διάρκεια των εικόνων/frames. Χρησιμοποιήθηκαν τα ίδια εύρη για την ανίχνευση του κόκκινου χρώματος. Ακολουθούν τα αποτελέσματα : 20

21 Σχήμα 3.3 Αποτελέσματα τεχνικής ανίχνευσης χρώματος και σχεδιασμού τροχιάς Αυτό το αποτέλεσμα είναι λίγο πιο σαφές από το προηγούμενο, ωστόσο και πάλι ο αλγόριθμος αυτός βρίσκεται σε ένα πρώιμο στάδιο και περισσότερο χρησιμοποιήθηκε για την κατανόηση βασικών βιβλιοθηκών και συναρτήσεων της opencv και εφαρμογή των βασικών εντολών για εξοικείωση Background substraction Εν συνεχεία, το πρόβλημα ήταν να καταφέρουμε να ξεχωρίσουμε κινούμενα αντικείμενα από τα ακίνητα (από το background).όπως λέει και το όνομα, ο διαχωρισμός προσκηνίου-φόντου γνωστός και ως background substraction συνίσταται στον υπολογισμό μιας μάσκας προσκηνίου αφαιρώντας το κάθε frame από το μοντέλο φόντου και υπολογίζοντας εν τέλει μια δυαδική εικόνα που περιέχει τα pixels που ανήκουν στα κινούμενα αντικείμενα της σκηνής. 21

22 Σχήμα 3.4: Η διαδικασία του διαχωρισμού προσκηνίου-φόντου. Πηγή: [35] Το πρόβλημα αυτό είναι γενικά σύνθετο. Αρχίζοντας από την περίπτωση της ακίνητης κάμερας και των κινούμενων αντικειμένων σε ένα βίντεο, όπως για παράδειγμα σε ένα βίντεο τραβηγμένο από μια κάμερα ασφαλείας σε έναν αυτοκινητόδρομο, τα αποτελέσματα είναι αρκετά καλά. Υπάρχει μάλιστα έτοιμη υλοποίηση ενός τέτοιου αλγορίθμου στα demos της opencv στο φάκελο ~/opencv /samples/cpp/bgfg_segm.cpp. Αυτός ο αλγόριθμος χρησιμοποιεί για το διαχωρισμό φόντου προσκηνίου (background foreground) γκαουσιανές κατανομές και δίνει την δυνατότητα επιλογής των μεθόδων που επιθυμεί κανείς για αυτόν τον υπολογισμό. Οι κυριότερες μέθοδοι background substraction είναι οι εξής : Η μέθοδος MOG: Είναι μια μέθοδος διαχωρισμού προσκηνίου/φόντου βασισμένη σε γκαουσιανές κατανομές. Χρησιμοποιεί ένα σύνολο Κ γκαουσιανών κατανομών για να καθορίσει κάθε εικονοστοιχείο του φόντου, με τον συντελεστή Κ να παίρνει τιμές 3 έως 5. Οι συντελεστές βαρύτητας των κατανομών απεικονίζουν αναλογικά το χρόνο που τα χρώματα αυτά παραμένουν στη σκηνή. Η λογική είναι ότι τα πιο πιθανά χρώματα φόντου είναι αυτά που παραμένουν πιο πολλή ώρα στη σκηνή και είναι πιο στατικά. Η αντίστοιχη συνάρτηση στην opencv είναι η createbackgroundsubstractormog( ), (Mixture Of Gaussian) που δέχεται μερικά προαιρετικά ορίσματα όπως η διάρκεια του ιστορικού παρακολούθησης, ο αριθμός των γκαουσιανών κατανομών, το κατώφλι επιλογής και λοιπά. 22

23 Η μέθοδος MOG2: Αποτελέι επίσης μέθοδο βασισμένη σε γκαουσιανές κατανομές. Ένα σημαντικό της χαρακτηριστικό είναι ότι αυτός ο αλγόριθμος επιλέγει μόνος του τον απαραίτητο αριθμό κατανομών για κάθε εικονοστοιχείο/pixel,ενώ στον προηγούμενο η επιλογή του αριθμού Κ γίνεται από τον χρήστη. Παρουσιάζει λοιπόν καλύτερη προσαρμοστικότητα σε σκηνές που εναλλάσσονται λόγω εναλλαγές της φωτεινότητας. Υπάρχει ακόμη η δυνατότητα να μαρκάρει και σκιές σε μια απόχρωση του γκρι, ωστόσο το υπολογιστικό κόστος αυξάνεται. Η αντίστοιχη συνάρτηση στην opencv είναι η createbackgroundsubstractormog2( ). Η μέθοδος GMG: Ο αλγόριθμος αυτός συνδυάζει στατιστική εκτίμηση του φόντου και ανά εικονοστοιχείο τμηματοποίηση βασισμένη στον κανόνα Bayes. Οι εκτιμήσεις του αναπροσαρμόζονται και οι νέες εικόνες αποκτούν μεγαλύτερη βαρύτητα από τις παλαιότερες. Επίσης εφαρμόζονται μορφολογικές βελτιώσεις για την εξάλειψη τυχόν ανεπιθύμητου θορύβου. Η μέθοδος KNN: (K nearest neighbour) Είναι αρκετά αποτελεσματική αν το πλήθος των εικονοστοιχείων των κινούμενων αντικειμένων είναι μικρό. Βασίζεται στον αλγόριθμο των k κοντινότερων γειτόνων,μια ευρέως χρησιμοποιούμενη τεχνική κατηγοριοποίησης. Στην τεχνική αυτή, τα δεδομένα αποτελούν το μοντέλο κατηγοριοποίησης για κάθε στοιχείο και έτσι, όταν απαιτείται μια κατηγοριοποίηση πρέπει να καθοριστεί η απόσταση του από κάθε στοιχείο του συνόλου εκπαίδευσης. Μόνο οι k κοντινότερες εκχωρήσεις λαμβάνονται υπόψιν στη συνέχεια. Το νέο στοιχείο τοποθετείται στην κατηγορία που περιέχει τα περισσότερα στοιχεία από το σύνολο Α των κοντινότερων στοιχείων. Έτσι σε μια συγκριτική παρουσίαση αποτελεσμάτων έχουμε τα εξής αποτελέσματα : 23

24 Σχήμα 3.5 : Η πρωτότυπη εικόνα από το βίντεο Πηγή: [35] Σχήμα 3.6 : Αποτέλεσμα από MOG Σχήμα 3.7 : Αποτέλεσμα από MOG2 Παρατηρούμε ότι με γκρι χρώμα απεικονίζεται η σκιά. Σχήμα 3.8 : Αποτέλεσμα από GMG Παρατηρείται σχετική απαλοιφή του θορύβου. 24

25 Χρησιμοποιώντας μια ελαφρώς τροποποιημένη υλοποίηση του αλγορίθμου που περιέχεται έτοιμος στο φάκελο της opencv, εφαρμόσαμε σε βίντεο τις μεθόδους MOG2, KNN και παραθέτουμε τα αποτελέσματα : Σχήματα 3.9, 3.10 : Αποτέλεσματα των μεθόδων MOG2,KNN Και στα δύο παραπάνω παραδείγματα φαίνεται πώς οι δύο μέθοδοι έχουν παρόμοια αποτελέσματα με τη διαφορά τους να είναι ότι η MOG2 απεικονίζει με διαφορετικό τρόπο τις σκιές και όχι ως μέρος των κινούμενων αντικειμένων. Η ακρίβεια των αποτελεσμάτων χαρακτηρίζεται ως ικανοποιητική. Έχει γίνει πλέον σαφές ότι οι παραπάνω μέθοδοι είναι μεν αποτελεσματικές, όμως όχι αρκετές για την ανίχνευση εμποδίων και περαιτέρω την πλοήγηση του οχήματος για την αποφυγή τους. Είναι απαραίτητη η χρήση μιας μεθόδου βασισμένης σε οπτικά ερεθίσματα που να δίνει πληροφορίες για τη σχετική θέση των εμποδίων προς το όχημα και να δύναται να υπολογιστεί τρόπος για την αποφυγή τους. Έρχεται λοιπόν να εισαχθεί ένας νέος όρος, αυτός της οπτικής ροής που αναλύεται λεπτομερώς στη 25

26 συνέχεια και εφαρμόζεται για ακόμη καλύτερα αποτελέσματα. 3.2 Oρισμός της οπτικής ροής Ως οπτική ροή ( optical flow ) [38] ορίζεται το μοτίβο της κίνησης αντικειμένων ή επιφανειών σε μια σκηνή που προκαλείται από τη σχετική κίνηση ανάμεσα σε έναν παρατηρητή ( μάτι ή φωτογραφική μηχανή ) και τη σκηνή. Σκοπός της είναι να δώσει λύσεις σε σημαντικά προβλήματα όπως η ανίχνευση ενός γνωστού αντικειμένου σε δύο εικόνες, εκτίμηση της σχετικής κίνησης φωτογραφικής μηχανής / αντικειμένου ή υπολογισμός χάρτη βάθους εικόνας. Πρώτος ο Αμερικάνος ψυχολόγος James J. Gibson στη δεκαετία του 1940 εισήγαγε την έννοια της οπτικής ροής προσπαθώντας να περιγράψει τα ερεθίσματα που δέχονται τα ζώα κινούμενα στον κόσμο. Οι μελέτες του έδωσαν σημαντικά στοιχεία για την πληροφορία που αντλεί το μάτι από την εικόνα που παίρνει,όπως πληροφορία για το σχήμα, την απόσταση και την κίνηση ορισμένων αντικειμένων στο χώρο. Ο όρος οπτική ροή χρησιμοποιήθηκε εν συνεχεία από μηχανικούς στον τομέα της ρομποτικής σε συνδυασμό με τεχνικές επεξεργασίας εικόνας, ανίχνευσης κίνησης και άλλων. Από πλευράς της βιολογίας [9], ως οπτική ροή για μια σκηνή η οποία προβάλλεται στον αμφιβληστροειδή χιτώνα του ματιού, ορίζεται η αλλαγή του τρόπου πρόσπτωσης των ακτίνων του φωτός στον αμφιβληστροειδή κάτι το οποίο δίνει στον άνθρωπο την εντύπωση της κίνησης της σκηνής. Αυτό γίνεται εύκολα αντιληπτό από το παρακάτω σχήμα : Σχήμα 3.11 : Οπτική ροή στον αμφιβληστροειδή χιτώνα Πηγή:[9] 26

27 Από την πλευρά της τεχνολογίας [2],μέσω μιας κάμερας παίρνουμε διαδοχικά πλαίσια εικόνων/frames. Αν κάποιο σημείο ενδιαφέροντος μετατοπίζεται πάνω σε αυτή την ακολουθία εικόνων, τότε μέσω αυτών των μετατοπίσεων υπάρχει η δυνατότητα κατασκευής της εικονικής κίνησης της σκηνής, που είναι γνωστή ως οπτική ροή. Για την αναπαράσταση του τρισδιάστατου κόσμου μας στο επίπεδο μιας εικόνας χρησιμοποιείται το μοντέλο μιας pinhole κάμερα, όπως στο παρακάτω σχήμα : Σχήμα 3.12 : Μοντέλο pinhole κάμερας Πηγή:[2] Η σχέση μεταξύ των στοιχείων του πραγματικού κόσμου (Χ,Υ,Ζ) και των προβαλλόμενων στοιχείων (u,v) περιγράφεται από την ακόλουθη σχέση, όπου f η εστιακή απόσταση της κάμερας : ( 3.1 ) Υπάρχουν διάφορες τεχνικές οπτικής ροής οι σημαντικότερες εκ των οποίων είναι οι εξής: Τεχνικές συσχέτισης οπτικής ροής (correlation based) Διαφορικές μέθοδοι υπολογισμού οπτικής ροής (differential) Μέθοδοι βασισμένες σε εξαγωγή χαρακτηριστικών (feature based) 27

28 3.3 Τεχνικές Εκτίμησης Οπτικής Ροής Τεχνική της συσχέτισης ( correlation based method ) Η τεχνική της συσχέτισης [22] βασίζεται στην αντιστοίχιση 2 διαδοχικών εικόνων με σκοπό τον υπολογισμό της αλλαγής της οπτικής ροής. Η βασική αρχή είναι η εξής : Πρώτα, το σύστημα λαμβάνει 2 διαδοχικές εικόνες I1 και Ι2 από την κάμερα. Για κάθε σημείο (Χ,Υ) στην εικόνα Ι1, το σύστημα χρησιμοποιεί το σημείο (Χ,Υ) ως κέντρο για τη δημιουργία ενός ταιριαστού παραθύρου μεγέθους (2n+1)x(2n+1). Έπειτα, στην εικόνα Ι2 το σύστημα επίσης χρησιμοποιεί κάθε σημείο (Χ,Υ) για τη δημιουργία άλλου παραθύρου μεγέθους (2N+1)x(2Ν+1) [22]. Μεταξύ των 2 περιοχών που καλύπτονται από τα 2 παράθυρα, είναι πιθανό να υπολογιστεί η ταχύτητα της οπτικής ροής. Με αυτή τη μέθοδο ο υπολογισμός θα έχει μεγάλη ακρίβεια. Ωστόσο απαιτεί τεράστιο υπολογιστικό χρόνο και υψηλό κόστος Διαφορικές τεχνικές ( differential methods ) Οι διαφορικές τεχνικές χρησιμοποιούν τις χρονικές ή/και τις χωρικές, πρώτης ή μεγαλύτερης τάξης παραγώγους, μίας ακολουθίας πλαισίων προκειμένου να εκτιμήσουν την οπτική ροή. Σε αυτό το σημείο θα οριστεί ο συμβολισμός που από εδώ και στο εξής θα χρησιμοποιείται όταν θα γίνεται αναφορά στη μαθηματική αναπαράσταση της έντασης των εικονοστοιχείων μιας εικόνας και των χρονικών και χωρικών παραγώγων της. Έστω δύο εικόνες οι οποίες αντιστοιχούν σε δύο διαδοχικά πλαίσια ενός βίντεο. Με 1(x, y, t1) και 2(x, y, t2), συμβολίζεται η ένταση (Ιntensity) του κάθε (x,y) εικονοστοιχείου την χρονική στιγμή ti= 1,2 του πρώτου και του δεύτερου πλαισίου αντίστοιχα. Έστω ότι το δεύτερο πλαίσιο έχει αρκετά μικρή χρονική διαφορά από το πρώτο πλαίσιο. Δηλαδή: 2 = 1 + (3.2 ) Η χρονική παράγωγος ορίζεται ως η διαφορά της έντασης των εικονοστοιχείων των δύο πλαισίων ( 3.3 ) Η πρώτη χωρική παράγωγος μπορεί να υπολογιστεί ως προς τους δύο άξονες του δισδιάστατου χώρου. Δηλαδή για κάθε εικόνα υπάρχουν δύο χωρικές παράγωγοι, μία ως προς χ και μία ως προς y : ( 3.4 ) 28

29 ( 3.5 ) Για τον υπολογισμό των χωρικών παραγώγων δεύτερης τάξης μιας εικόνας υπάρχουν τρεις περιπτώσεις : (3. 6) ( 3.7 ) ( 3.8 ) Έστω ότι κάποιο εικονοστοιχείο το οποίο βρίσκεται στη θέση (x,y) την χρονική στιγμή t και έχει ένταση I(x,y,t) στο πρώτο πλαίσιο ενός βίντεο, στο επόμενο πλαίσιο δηλαδή μετά από χρόνο Δt θα έχει μετακινηθεί κατά Δx, Δy. Επομένως : ( 3.9 ) Έστω τώρα ότι η κίνηση είναι αρκετά μικρή, έτσι ώστε οι δύο πρώτοι όροι του αναπτύγματος Taylor να αποτελούν μια καλή προσέγγιση, η σχέση (3.9) γράφεται ως εξής: (3.10) Συνδυάζοντας τις σχέσεις (3.9) και (3.10) προκύπτει ότι : (3.11) Η παραπάνω σχέση μπορεί να γραφτεί ως εξής: 29

30 (3.12) Εάν ληφθεί υπόψιν ότι η ταχύτητα ισούται με την μετατόπιση προς τον αντίστοιχο χρόνο, δηλαδή vx=δx/δt, προκύπτει ότι: (3.13) Χρησιμοποιώντας τον συμβολισμό που περιγράφηκε στην αρχή της παραγράφου, η παραπάνω εξίσωση γράφεται: (3.14) και ταυτίζεται με την εξίσωση της οπτικής ροής. Η εξίσωση αυτή, είναι μια εξίσωση με δύο αγνώστους, κάτι το οποίο σημαίνει ότι έχει άπειρο αριθμό λύσεων, άρα δεν μπορεί να βρεθεί μοναδική λύση. Το πρόβλημα αυτό αντιμετωπίζεται από την εκάστοτε τεχνική, εισάγοντας κάποιους περιορισμούς ή υποθέσεις ώστε από την απειρία λύσεων να απομονωθεί μία Feature Based Method Αυτού του είδους ο αλγόριθμος δεν αναλαμβάνει την εξέταση ολόκληρης της εικόνας αλλά μόνο ανιχνεύσιμα εικονοστοιχεία χρησιμοποιούνται για τον υπολογισμό της οπτικής ροής. Συγκεκριμένα τα καλύτερα στοιχεία της εικόνας είναι οι γωνίες αφού δίνουν ακριβείς πληροφορίες σχετικά με το 2- D επίπεδο. Το Edge and Corner detector του Harris [39] χρησιμοποιείται για το διαχωρισμό των γωνιών από τις ακμές. Χρησιμοποιεί τον στιγμιαίο πίνακα ορισμένο ως εξής: (3.15) όπου: Ix και Iy είναι η κλίση της εικόνας στις κατευθύνσεις χ,y της πρώτης εικόνας 30

31 είναι η μέση τιμή Η δυναμική των χαρακτηριστικών στοιχείων υπολογίζεται ως εξής: (3.16) Αυτή η παράμετρος είναι πολύ χρήσιμη για τον διαχωρισμό των γωνιών από τις ακμές. Μεγάλες θετικές τιμές υποδεικνύουν γωνίες ενώ μεγάλες αρνητικές τιμές υποδεικνύουν ακμές. Οι καλές γωνίες στην εικόνα παράγουν πολλαπλά γειτονικά εικονοστοιχεία με μεγάλη δυναμική χαρακτηριστικών. Η πιο μεγάλη επιλέγεται ενώ οι υπόλοιπες τιμολογούνται ως μηδενικές. Τέλος όταν μια δεύτερη εικόνα είναι διαθέσιμη, η συσχέτιση της εικόνας βασίζεται σε μια ψευδο-κανονική συνάρτηση του Movarec [39] : (3.17) Το εικονοστοιχείο με τη μεγαλύτερη τιμή συσχέτισης χρησιμοποιείται για τον υπολογισμό της μετατόπισης ανάμεσα στις 2 εικόνες. 3.4 Κύριες μέθοδοι υπολογισμού οπτικής ροής H τεχνική των Lucas-Kanade Η τεχνική Lucas-Kanade [12] είναι ίσως η πιο διαδεδομένη διαφορική τεχνική και χρησιμοποιείται ευρέως για την εκτίμηση της οπτικής ροής σε πολλές σύγχρονες εφαρμογές. Αναπτύχθηκε από τους Bruce D. Lucas και Takeo Kanade. Η τεχνική χωρίζει το πλαίσιο σε επικαλυπτόμενα μπλοκ και για κάθε ένα από τα μπλοκ εκτιμά την οπτική ροή λύνοντας τις εξισώσεις που θα περιγραφούν αμέσως μετά, με την μέθοδο των ελαχίστων τετραγώνων. Οι υποθέσεις που πρέπει να ισχύουν ώστε να λειτουργεί αποδοτικά η τεχνική παρατίθενται παρακάτω. Η οπτική ροή σε μία περιοχή είναι σταθερή και ομοιόμορφη. Αυτό σημαίνει ότι σε όλα τα 31

32 εικονοστοιχεία του κάθε μπλοκ μπορεί να ανατίθεται κοινή ταχύτητα. Τα πλαίσια δεν υπόκεινται σε φωτομετρικές παραμορφώσεις. Αυτό σημαίνει ότι η ένταση των εικονοστοιχείων που ανήκουν στις περιοχές που κινούνται, αλλά και στο φόντο (background), παραμένει σταθερή στα πλαίσια που μελετώνται. Δηλαδή δεν αλλάζει ο φωτισμός της σκηνής ή οι αντανακλαστικές ιδιότητες των σωμάτων που απαρτίζουν την σκηνή. Κάθε μπλοκ περιέχει κίνηση και προς τις δύο κατευθύνσεις. Αυτό σημαίνει ότι σε κάθε μπλοκ, προκειμένου να εκτιμηθεί σωστά η οπτική ροή, θα πρέπει η κίνηση των εικονοστοιχείων να γίνεται και ως προς τον άξονα x x αλλά και ως προς τον άξονα y y Καθώς η τεχνική αυτή βασίζεται στο ανάπτυγμα Taylor, οι κινήσεις των σωμάτων της σκηνής πρέπει να είναι αρκετά μικρές ώστε οι δύο πρώτοι όροι του αναπτύγματος να αποτελούν μία καλή προσέγγιση. Αντίστοιχα, αν πρόκειται για βίντεο, η συχνότητα δειγματοληψίας της κάμερας να είναι αρκετά υψηλή. Επομένως στις περιπτώσεις μεγάλων κινήσεων η τεχνική δεν θα μπορεί να εκτιμά σωστά την οπτική ροή. Έστω ότι ένα μπλοκ ενός πλαισίου αποτελείται από N εικονοστοιχεία. Σύμφωνα με την πρώτη υπόθεση, μπορεί σε όλα τα εικονοστοιχεία του μπλοκ να ανατεθεί κοινή ταχύτητα. Αυτό σημαίνει, ότι η εξίσωση της οπτικής ροής που περιγράφεται από την σχέση (3.18), θα ικανοποιείται για καθένα από τα qi εικονοστοιχεία του μπλοκ, με i= 1,2..., N, δηλαδη: (3.18) Το γραμμικό σύστημα (3.18) μπορεί να γραφεί σε μητρική μορφή ως ακολούθως: Αu=b, (3.19) με: (3.20) 32

33 Το σύστημα που περιγράφεται από την Σχέση (2.20), αποτελείται από N εξισώσεις και μόλις δύο αγνώστους. Δηλαδή είναι ένα υπερ-καθορισμένο (over-determined) σύστημα καθώς το N ποτέ δεν επιλέγεται να είναι ίσο η μικρότερο του δύο. Η τεχνική των Lucas-Kanade όπως αναφέρθηκε και προηγουμένως, επιλύει το σύστημα της Σχέσης(2.20) με την μέθοδο των ελαχίστων τετραγώνων. Για το σκοπό αυτό, ορίζεται η συνάρτηση κόστους η οποία πρέπει και να ελαχιστοποιηθεί: (3.21) αν αναπτυχθεί η τετραγωνική ταυτότητα, γράφεται ως εξής: (3.22) Πιο αναλυτικά: (3.23) όπου Μ είναι περιοχή όλων των εικονοστοιχείων τα οποία ανήκουν στο μπλοκ το οποίο εξετάζεται. Εάν υπολογιστούν οι μερικές παράγωγοι πρώτης τάξης της σχέσης 3.23 ως προς ux και uy θα προκύψει: 33

34 (3.24) (3.25) Αφού εξισωθούν οι σχέσεις 3.24 και 3.25 με το μηδέν προκύπτει: (3.26) το οποίο οδηγεί στο 2Χ2 σύστημα εξισώσεων το οποίο λύνει για κάθε μπλοκ η τεχνική των Lucas- Kanade : (3.27) ή ισοδύναμα : (3.28) Η λύση της παραπάνω εξίσωσης ερμηνεύεται ως η τιμή της οπτικής ροής ή αλλιώς της ταχύτητας που κινούνται όλα τα εικονοστοιχεία τα οποία ανήκουν στο μπλοκ το οποίο εξετάζεται. 34

35 3.4.2 Τεχνική των Horn-Schunk Η τεχνική εκτίμησης της οπτικής ροής των Horn-Schunk [13] αναπτύχθηκε το 1981 από τους B.K.P.Horn και B.G. Schunk. Είναι μία καθολική τεχνική. Δηλαδή σε αντίθεση με την τεχνική των Lucas-Kanade, που περιγράφτηκε στην προηγούμενη παράγραφο, η οποία σε κάθε βήμα εκτιμούσε την οπτική ροή σε ένα μπλοκ της εικόνας, η τεχνική των Horn-Schunk εκτιμά την οπτική ροή σε ολόκληρη την εικόνα με επαναληπτικό τρόπο. Οι υποθέσεις που πρέπει να ισχύουν ώστε να λειτουργεί αποδοτικά η τεχνική είναι οι ακόλουθες: πρέπει να υπάρχει ομαλότητα στην μεταβολή της οπτικής ροής σε ολόκληρη σχεδόν την εικόνα. Με τον όρο ομαλότητα εννοούμε ότι η οπτική ροή θα αλλάζει αργά και δεν θα υπάρχουν ασυνέχειες στη κίνηση. οι επιφάνειες που συμμετέχουν στην κίνηση πρέπει να είναι επίπεδες. ο φωτισμός πρέπει να είναι ομοιόμορφος σε ολόκληρη την σκηνή Η τεχνική προσπαθεί να ελαχιστοποιήσει παραμορφώσεις στην οπτική ροή και προτιμάει τις λύσεις οι οποίες είναι περισσότερο ομαλές. Αρχικά λαμβάνεται η βασική εξίσωση (3.14), της οπτικής ροής και ορίζεται η παρακάτω συνάρτηση τετραγωνικού σφάλματος: (3.29) Ορίζεται τώρα, στην περιοχή ενδιαφέροντος Μ τη συνάρτηση κόστους: (3.30) η οποία εάν ελαχιστοποιηθεί ως προς τις συνιστώσες της ταχύτητας, εξασφαλίζει ελάχιστο ρυθμό μεταβολής της φωτεινότητας της εικόνας. Επίσης ορίζεται η συνάρτηση ομαλότητας της ταχύτητας: 35

36 (3.31) και η συνάρτηση κόστους: (3.32) η οποία εάν ελαχιστοποιηθεί ως προς τις συνιστώσες της ταχύτητας, εξασφαλίζει την ομαλότητα στην οπτική ροή η οποία απαιτείται μέσω του περιορισμού που δόθηκε στην αρχή της παραγράφου. Μπορεί να οριστεί και η ακόλουθη συνάρτηση κόστους, η οποία εξαρτάται από τις τιμές της οπτικής ροής ux και uy. (3.33) όπου το α είναι μία σταθερά βάρους. Αυξάνοντας την τιμή της σταθεράς α αυξάνεται το βάρος στον όρο ο οποίος εκφράζει την ομαλότητα της οπτικής ροής. Ο σκοπός της τεχνικής των Horn-Schunk είναι να ελαχιστοποιηθεί η ακόλουθη συνάρτηση κόστους της Σχέσης (3.33), δηλαδή: (3.34) Χρησιμοποιώντας τις εξισώσεις των Euler-Langrange, παίρνουμε: (3.35) (3.36) όπου το 2 συμβολίζει τον τελεστή Laplace, δηλαδή: 36

37 (3.37) Στην πράξη οι ποσότητες 2 και 2 υπολογίζονται αριθμητικά χρησιμοποιώντας την μέθοδο των πεπερασμένων διαφορών και μπορούν να γραφούν ως εξής : (3.38) (3.39) όπου u`x και u`y είναι οι σταθμισμένοι όροι των ταχυτήτων ux και uy αντίστοιχα, υπολογισμένοι στη γειτονιά 3Χ3 του κάθε εικονοστοιχείου (i,j) με χρήση του ακόλουθου φίλτρου: (3.40) Χρησιμοποιώντας τις σχέσεις 3.38 και 3.39, οι σχέσεις 3.35 και 3.36 εκφράζονται στη μορφή που φαίνεται παρακάτω: (3.41) (3.42) Η κατάληξη είναι ένα γραμμικό σύστημα δύο εξισώσεων με δύο αγνώστους το οποίο μπορεί να λυθεί για κάθε εικονοστοιχείο της εικόνας εξ ου και ο χαρακτηρισμός της τεχνικής ως καθολικής. Αναφέρθηκε στην αρχή της παραγράφου ότι η τεχνική εκτιμά την οπτική ροή σε όλη την εικόνα με 37

38 επαναληπτικό τρόπο. Η ανάγκη αυτή προκύπτει καθώς το να εφαρμοστεί η παραπάνω λύση με χρήση κάποιας κλασικής τεχνικής όπως της απαλοιφής Gauss-Jordan, για κάθε εικονοστοιχείο της εικόνας έχει μεγάλο κόστος. Ο πίνακας που αντιστοιχεί στις Σχέσεις (3.41) και (3.42) είναι ένας αραιός και μεγάλος πίνακας καθώς το πλήθος των γραμμών του και των στηλών του είναι διπλάσιο από το πλήθος των γραμμών και των στηλών της εικόνας. Για αυτό το λόγο λοιπόν επιλέγεται η επαναληπτική μέθοδος των (Gauss-Seidelmethod) προκειμένου να λυθεί το σύστημα. Προκύπτει έτσι η επαναληπτική καθολική τεχνική των Horn-Schunk όπως αυτή εκφράζεται από τις ακόλουθες σχέσεις: (3.43) (3.44) Όπου k+1 είναι η επόμενη επανάληψη ενώ k είναι επανάληψη της οποίας τα αποτελέσματα υπολογίστηκαν τελευταία. Στα σημεία όπου η χωρική παράγωγος δεν μπορεί να δώσει κάποια πληροφορία, όπως είναι τα σημεία μιας επιφάνειας που κινείται η οποία στο εσωτερικό της έχει το ίδιο χρώμα, η οπτική ροή που θα εκτιμηθεί στις αρχικές επαναλήψεις θα είναι ίση με μηδέν. Παρ όλα αυτά, η οπτική ροή που θα έχει εκτιμηθεί στην περίμετρο της επιφάνειας αυτής, με την πάροδο των επαναλήψεων θα μεταδοθεί και στο εσωτερικό της. Αυτό θα γίνει με την προϋπόθεση ότι στην περίμετρο της επιφάνειας η οπτική ροή που έχει εκτιμηθεί έχει την ίδια τιμή σε όλα τα σημεία της περιμέτρου. Σε περιπτώσεις στις οποίες δεν ισχύει το παραπάνω, δεν μπορεί να προβλεφθεί η συμπεριφορά της τεχνικής. Η διαδικασία της μετάδοσης της οπτικής ροής με την πάροδο των επαναλήψεων, μπορεί να παρομοιαστεί με τα φαινόμενα μετάδοσης της λύσης της εξίσωσης της θερμότητας για ένα ομοιόμορφο επίπεδο κυκλικό δίσκο. Η διαδικασία της μετάδοσης της οπτικής ροής στα εσωτερικά σημεία μιας επιφάνειας, βοηθάει στην επιλογή του αριθμού των επαναλήψεων που θα χρειαστεί η τεχνική. Ο αριθμός των επαναλήψεων θα πρέπει να είναι μεγαλύτερος από τον αριθμό των εικονοστοιχείων που ανήκουν στην μεγαλύτερη επιφάνεια με τις παραπάνω ιδιότητες. Στην περίπτωση όπου δεν είναι γνωστή εκ των προτέρων αυτή η πληροφορία, μία ασφαλής επιλογή του αριθμού των επαναλήψεων είναι η μεγαλύτερη εκ των δύο διαστάσεων του πλαισίου που δίνεται σαν είσοδος στην τεχνική. 38

39 3.5 Η Προσέγγιση με οπτική ροή Αφού αναφέρθηκαν οι βασικές μέθοδοι υπολογισμού της οπτικής ροής και το μαθηματικό τους υπόβαθρο, θα γίνει υλοποίηση τους στην opencv.χρησιμοποιήθηκαν αρχικά τόσο η τεχνική Lucas Kanade για αραιά (sparse) δεδομένα, όσο και η τεχνική Gunnar- Farneback για πυκνό (dense) σύνολο δεδομένων. Ακολουθεί μια απεικόνιση των αποτελεσμάτων που πήραμε για ένα βίντεο με κινούμενα αυτοκίνητα από μια ακίνητη κάμερα κυκλοφορίας σε αυτοκινητόδρομο : Σχήμα 3.13: Υπολογισμός οπτικής ροής σε αραιό σύνολο δεδομένων Σχήμα 3.14: Υπολογισμός οπτικής ροής σε πυκνό σύνολο δεδομένων 39

40 Από άποψη απεικόνισης και αποτελεσμάτων μπορούν κάλλιστα να χρησιμοποιηθούν και οι δύο μέθοδοι, το θέμα όμως είναι πως στην προκειμένη εφαρμογή θέλουμε η ανίχνευση και η αποφυγή στη συνέχεια των αντικειμένων να βασίζεται σε εξαγωγή κάποιων χαρακτηριστικών σημείων ενδιαφέροντος (feature points) που θα περιγράφουν τα κυρίαρχα αντικείμενα της σκηνής και όχι να υπολογίζεται η οπτική ροή για όλο το οπτικό πεδίο της κάμερας. Για τον προαναφερθέντα λόγο θα χρησιμοποιήσουμε τη μέθοδο υπολογισμού οπτικής ροής Lucas - Kanade για αραιό σύνολο δεδομένων που θα έχουν εξαχθεί από μια ανίχνευση γωνιών, όπως για παράδειγμα κάνει η μέθοδος Harris corner detection ή Shi Tomasi corner detection. Έτσι, προτού εφαρμοστεί η μέθοδος Lucas-Kanade μέσω της εντολής calcopticalflowpyrlk, θα χρειαστεί η χρήση της εντολής goodfeaturestotrack. Η εντολή αυτή εξάγει χαρακτηριστικά σημεία με βάση τα ορίσματα που παίρνει που αφορούν τον αριθμό των γωνιών που εξάγει, το συντελεστή ποιότητας, την ελάχιστη απόσταση ανάμεσα στις γωνίες τη μέθοδο που χρησιμοποιείται ( μέθοδος ιδιοτιμών ή Harris ) και άλλα. Θα εξηγηθεί η διαδικασία με περισσότερες λεπτομέρειες σε παρακάτω κεφάλαιο με παράθεση του κώδικα. Αφού δημιουργηθεί το διάνυσμα των χαρακτηριστικών σημείων, καλείται η συνάρτηση calcopticalflowpyrlk που υπολογίζει τη νέα θέση των σημείων αυτών στο επόμενο frame. Τέλος, γίνεται αναπαράσταση της μετατόπισης των σημείων από το ένα frame στο επόμενο με βέλη και το αποτέλεσμα απεικονίζεται στο τελικό παράθυρο. 3.6 Ο αλγόριθμος kmeans Στα πλαίσια του διαχωρισμού του φόντου με το προσκήνιο, μπορεί να χρησιμοποιηθεί και ο αλγόριθμος kmeans. Αυτός ο αλγόριθμος λαμβάνει ένα σύνολο σημείων δεδομένων και τα ταξινομεί σε k ομάδες (clusters). Η επιλογή του αριθμού των ομάδων βασίζεται στο χρήστη. Είναι γενικά ένα καλό εργαλείο όταν το πλήθος των ομάδων αντικειμένων σε μια εικόνα/βίντεο είναι γνωστό [42]. Στην προκειμένη περίπτωση μπορεί να γίνει μια ομαδοποίηση σε foreground-background. Επομένως, θα χρησιμοποιηθούν k=2 ομάδες για ταξινόμηση. Η πληροφορία που θα χρησιμοποιηθεί για το διαχωρισμό σε φόντο προσκήνιο θα είναι αρχικά η κίνηση των αντικειμένων και σε δεύτερη υλοποίηση και η φωτεινότητά τους. 40

41 Λαμβάνοντας ως πληροφορία τη μετατόπιση των αντικειμένων εννοούμε ότι λαμβάνουμε υπόψιν την οπτική ροή που παράγεται στο βίντεο. Με βάση μόνο αυτή την πληροφορία τα αποτελέσματα είναι τα ακόλουθα : Σχήμα 3.15: Εφαρμογή αλγορίθμου k means με πληροφορία κίνησης ενός καναλιού ( grayscale ) Είναι λογικό το αποτέλεσμα να μην είναι ικανοποιητικό, καθώς το γεγονός ότι κάτι κινείται δεν αποτελεί ένδειξη ότι είναι ένα ενιαίο κινούμενο σώμα. Περαιτέρω βελτίωση παρατηρείται όταν η πληροφορία αυξάνεται, δηλαδή προστίθεται και η γνώση της φωτεινότητας των pixels : 41

42 Σχήμα 3.16 : Αποτελέσματα με γνώση της κίνησης και της φωτεινότητας σε ένα κανάλι ( grayscale ) Σχήμα 3.17 : Αποτελέσματα με γνώση της κίνησης και της φωτεινότητας σε έγχρωμη εικόνα (rgb) Συνεπώς,βλέπουμε πώς όσο περισσότερη πληροφορία συμπεριλαμβάνουμε στον αλγόριθμο, τόσο πιο αποτελεσματική είναι η ομαδοποίηση. Ωστόσο, δεν πρέπει να ξεχνάμε ότι ο τρόπος αυτός είναι απλοϊκός και χρησιμοποιείται ως μια προσπάθεια για 'χειροκίνητη' υλοποίηση background substractor με απλές εντολές. 3.7 Εναλλακτικές προσεγγίσεις Έγινε προσπάθεια και για άλλες προσεγγίσεις στο πρόβλημα της ανίχνευσης αντικειμένων περισσότερο για εκπαιδευτικούς σκοπούς και με απώτερο στόχο την κατανόηση όλων των τρόπων ανίχνευσης κίνησης και αναγνώρισης κινούμενων αντικειμένων. Μία τέτοια προσέγγιση είναι η χρήση cascade classifiers, δηλαδή ταξινομητών που λειτουργούν με βάση ένα σύνολο δειγμάτων με τα οποία έχουν εκπαιδευτεί. Στους ταξινομητές αυτούς εισάγεται ένα μεγάλο σύνολο εικόνων από 'σωστά ' δείγματα αυτοκινήτων (στην προκειμένη περίπτωση) και από 'λάθος' - 'μη σωστά' δείγματα αυτοκινήτων. Έτσι, μετά από ένα μεγάλο σύνολο εικόνων εκπαίδευσης, ο ταξινομητής μπορεί με καλή σχετικά ακρίβεια να αναγνωρίσει το συγκεκριμένο αντικείμενο. Σαφώς παίζει μεγάλο ρόλο η φωτεινότητα και το αν το βίντεο είναι έγχρωμο ή ασπρόμαυρο και τι είναι οι δοθείσες προς εκπαίδευση εικόνες. 42

43 Χρησιμοποιήθηκε ένας τέτοιος αλγόριθμος για την ανίχνευση οχημάτων στο ακόλουθο βίντεο. Τα αυτοκίνητα που ανιχνεύτηκαν τοποθετήθηκαν σε ένα κόκκινο πλαίσιο, ενώ ο αριθμός των αυτοκινήτων που ανιχνεύονται σε κάθε frame εμφανίζεται στην κονσόλα : 3.8 Σύνοψη Σχήμα 3.18: Εφαρμογή ταξινομητή cascade classifier για ανίχνευση οχημάτων Συνοψίζοντας, η καταλληλότερη από τις μεθόδους που αναφέρθηκαν είναι η μέθοδος υπολογισμού της οπτικής ροής και συγκεκριμένα η μέθοδος Lucas Kanade, που υπολογίζει την οπτική ροή για συγκεκριμένα σημεία του χώρου (sparse optical flow), αυτά που έχουν εξαχθεί από μία ανίχνευση γωνιών/ ακμών. Με τον τρόπο αυτό ερευνείται η κίνηση μόνο των σημαντικότερων σημείων που πιθανότατα ανήκουν σε στατικά ή μη αντικείμενα του χώρου. Σε παρακάτω κεφάλαιο θα αναλυθεί η χρησιμοποίηση των αποτελεσμάτων αυτών για την ασφαλή πλοήγηση του ρομποτικού οχήματος και την αποφυγή εμποδίων. 43

44 4. Μελετη της σχετικής βιβλιογραφίας Στο κεφάλαιο αυτό θα γίνει η επισκόπηση και η παρουσίαση της μελέτης της βιβλιογραφίας και συγκεκριμένα επιστημονικών άρθρων και εργασιών που ασχολήθηκαν με την αποφυγή σύγκρουσης αυτόνομου οχήματος αέρος ή εδάφους. Η βασική μέθοδος που ακολουθήθηκε στην βιβλιογραφία που μελετήθηκε, είναι αυτή της μηχανικής όρασης και ειδικότερα του υπολογισμού της οπτικής ροής, ενώ θα γίνει αναφορά και σε διαφορετικές προσεγγίσεις, ώστε να γίνει η απαραίτητη σύγκριση και να εντοπιστούν τυχόν πλεονεκτήματα και μειονεκτήματα κάθε μεθόδου. Αρχικά γίνεται αναφορά στην μελέτη που άσκησε τη μεγαλύτερη επιρροή στην παρούσα εργασία, ώστε να γίνει η εισαγωγή και η κατανόηση συγκεκριμένων εννοιών απαραίτητων για τη πορεία της εργασίας, ενώ στη συνέχεια θα παρουσιαστούν και διαφορετικές ή παρόμοιες προσεγγίσεις άλλων μελετητών. 44

45 4.1 Souhila και Karim Οι Kahlouche Souhila και Achour Karim [1] ασχολήθηκαν με την αποφυγή εμποδίων μέσω της οπτικής ροής και η στρατηγική που ανέπτυξαν βασίζεται στην ισορροπία της δεξιάς και της αριστερής οπτικής ροής κατά την κίνηση του ρομπότ με σκοπό την αποφυγή συγκρούσεων και την ασφαλή πλοήγηση. Στο παρακάτω σχήμα αποτυπώνεται η γενική ιδέα της αντιμετώπισης του προβλήματος της πλοήγησης και με λίγα λόγια περιγράφονται τα διάφορα στάδια. Παρακάτω γίνεται εκτενέστερη ανάλυση της θεωρίας πίσω από την υλοποίηση. Σχήμα 4.1 : Μπλοκ διάγραμμα πλοήγησης και αποφυγής εμποδίων Πηγή:[1] Σύμφωνα με το μπλοκ διάγραμμα, η στρατηγική για την αποφυγή εμποδίων είναι η εξής : Αρχικά μία σειρά από εικόνες λαμβάνεται από την χρησιμοποιούμενη κάμερα. Στη συνέχεια το σύστημα υπολογίζει τα διανύσματα της οπτικής ροής από τα ζεύγη εικόνων που λαμβάνονται. Για να γίνει ο προσανατολισμός του ρομπότ είναι απαραίτητος ο υπολογισμός του σημείου εστίασης ( Focus of expansion FOE ) στο επίπεδο της εικόνας και αυτό γιατί η πληροφορία από το σημείο αυτό χρειάζεται για τη στρατηγική εξισσορρόπησης ( balance strategy ). Η πληροφορία σχετικά με το βάθος πεδίου αναφέρεται στο αν το προς αποφυγήν αντικείμενο βρίσκεται μπροστά ή κοντά στο όχημα, προκειμένου το ρομπότ να μπορεί να λαμβάνει απόφαση σχετικά με την αποφυγή του εμποδίου ή όχι. Στην πραγματικότητα, ο υπολογισμός της οπτικής ροής περιέχει σημαντικές πληροφορίες για το FOE,το χρόνο μέχρι τη σύγκρουση ( time to contact TTC) αλλά και το βάθος πεδίου Οπτική ροή και κανόνες ελέγχου 45

46 Για τον υπολογισμό της οπτικής ροής χρησιμοποιήθηκε η διαφορική μέθοδος των Horn-Schunk και πάνω στην οπτική ροή βασίζεται η λήψη αποφάσεων πλοήγησης για την ισσοροπία ανάμεσα στη δεξιά και την αριστερή ροή. Καθώς ένα σημείο παρατήρησης κινείται στο χώρο, το πρότυπο της φωτεινότητας που ανακλάται στο σημείο αυτό αλλάζει συνεχώς, δημιουργώντας έτσι οπτική ροή. Το ρομποτικό όχημα μπορεί να αξιοποιήσει την πληροφορία αυτή για να επιτύχει συγκεκριμένου τύπου ροή. Για παράδειγμα, για να διατηρήσει προσανατολισμό στο περιβάλλον, δεν απαιτείται κανένα είδος ροής. Εφόσον εντοπιστεί κάποια ροή, τότε το ρομπότ πρέπει να μεταβάλλει τις δυνάμεις που παρήχθησαν από τους τελεστές του ( πχ φτερά, ρόδες ή πόδια ) ώστε να την ελαχιστοποιήσει σύμφωνα με τον κανόνα ελέγχου Συνεπώς, η μεταβολή των εσωτερικών δυνάμεων του ρομπότ είναι μια συνάρτηση της μεταβολής της οπτικής ροής [1] Focus of Expansion (FOE) Για τη μεταφορική κίνηση της κάμερας, τα διανύσματα της κίνησης της εικόνας απομακρύνονται από ένα μοναδικό σημείο και αντιστοιχούν στην προβολή των διανυσμάτων μεταφοράς του επιπέδου της εικόνας. Το σημείο αυτό ονομάζεται Focus of Expansion.Υπολογίζεται με βάση τον κανόνα ότι τα διανύσματα ροής είναι προσανατολισμένα προς συγκεκριμένες κατευθύνσεις σχετικές με το FOE. Ειδικότερα, η οριζόντια συνιστώσα hl του διανύσματος ροής L στα αριστερά του FOE στοχεύει προς τα αριστερά,ενώ ταυτόχρονα η οριζόντια συνιστώσα hr του διανύσματος ροής R στα δεξιά του FOE στοχεύει προς τα δεξιά, όπως παρουσιάζεται στο παρακάτω σχήμα. Σχήμα 4.2 : Υπολογισμός του FOE Πηγή:[1] 46

47 Σε ένα πλήρες πεδίο οπτικής ροής, η οριζόντια τοποθέτηση του FOE, που αντιστοιχεί στη θέση όπου η πλειοψηφία των οριζόντιων συνιστωσών αποκλίνουν, μπορεί να υπολογιστεί χρησιμοποιώντας μια απλή αριθμητική μέθοδο που να αντιστοιχίζει τα σημεία των οριζόντιων συνιστωσών που επικεντρώνονται στην τοποθεσία κάθε εικόνας. Στο σημείο που η απόκλιση αυτή γίνεται μέγιστη, η διαφορά μεταξύ των συνιστωσών hl στα αριστερά του FOE και του αριθμού των συνιστωσών hr στα δεξιά του FOE θα ελαχιστοποιηθεί. Όμοια, μπορεί να γίνει εκτίμηση της κάθετης τοποθεσίας του FOE αναγνωρίζοντας τη θέση στην οποία η πλειοψηφία των κάθετων συνιστωσών αποκλίνουν [1] Time-to-contact ( TTC ) Ο χρόνος μέχρι τη σύγκρουση ( time-to-contact ή time-to-collision) είναι ένα μέγεθος που παρουσιάζει ενδιαφέρον σε πολλά πεδία έρευνας. Γενικώς το TTC για δύο σώματα σε ένα χώρο είναι ο λόγος της μεταξύ τους απόστασης και της σχετικής τους ταχύτητας. Αναφορικά με τις κάμερες, το TTC μπορεί να οριστεί ως ο χρόνος που απαιτείται για ένα αντικείμενο στον πραγματικό κόσμο να φτάσει στο επίπεδο της κάμερας, υποθέτοντας πως η σχετική ταχύτητα παραμένει σταθερή καθ' όλη τη διάρκεια της κίνησης. Καθώς το TTC είναι ο λόγος της απόστασης προς την ταχύτητα, χρησιμοποιώντας μια pinhole camera, γίνεται ανάλογο του υπολογισμού του λόγου του μεγέθους ενός αντικειμένου στο επίπεδο της εικόνας προς τη χρονική παράγωγο. Έχει προταθεί ότι ανάλογη διεργασία γίνεται στο σύστημα της ανθρώπινης όρασης καθώς γίνονται ενέργειες που περιλαμβάνουν τον υπολογισμό του TTC, όπως την αποφυγή σύγκρουσης η το πιάσιμο ενός κινούμενου αντικειμένου [25]. Ένα από τα βασικά πλεονεκτήματα του ορισμού του TTC είναι ότι μπορεί να εξαχθεί εξ' ολοκλήρου από τα δεδομένα της εικόνας, χωρίς να κρίνεται απαραίτητος ο υπολογισμός φυσικών μεγεθών όπως η απόσταση ή η ταχύτητα. Συνεπώς η ανάγκη για πολύπλοκο και υπολογιστικά ακριβό calibration της κάμερας, 3D ανακατασκευή της σκηνής και εκτίμηση της κίνησης της κάμερας, έχει εξαληφθεί. Χάρη στην σχετική απλότητα και την υπολογιστική αποτελεσματικότητα, η ιδέα της εκτίμησης του TTC ταιριάζει απόλυτα σε συστήματα πραγματικού χρόνου, όπου ταχύτατες αποφάσεις πρέπει να λαμβάνονται μπροστά στον κίνδυνο επικείμενης σύγκρουσης. Για αυτό το λόγο, η εκτίμηση του TTC μπορεί να είναι απολύτως χρήσιμη για την αποφυγή εμποδίων και την αναγνώριση κινδύνου σύγκρουσης από οχήματα ή άτομα. [13]. Το TTC μπορεί να υπολογιστεί από την οπτική ροή που εξάγεται από τις διαδοχικές εικόνες που λαμβάνονται κατά της διάρκεια της κίνησης. Η ταχύτητα των εικόνων μπορεί να περιγραφεί ως μια συνάρτηση των παραμέτρων της κάμερας και να χωριστεί σε δύο συνιστώσες, εξαρτώμενη από τις περιστροφικές και τις μεταφορικές συνιστώσες της 47

48 ταχύτητας της κάμερας V ( και αντίστοιχα). Το περιστροφικό κομμάτι του πεδίου οπτικής ροής μπορεί να υπολογιστεί από συγκεκριμένα δεδομένα όπως την περιστροφή της κάμερας και το εστιακό μήκος. Μόλις η ολική οπτική ροή υπολογιστεί, το μπορεί να οριστεί εξάγοντας το απο την V. Από την οπτική ροή λόγω μεταφορικής κίνησης το TTC μπορεί να υπολογιστεί ως εξής [5] : Όπου το είναι η απόσταση ενός σημείου ( ) στο επίπεδο της εικόνας από το FOE Βάθος πεδίου Χρησιμοποιώντας την οπτική ροή που έχει υπολογιστεί από δύο διαδοχικές εικόνες, μπορεί να εξαχθεί η πληροφορία που αφορά το βάθος πεδίου από κάθε διάνυσμα ροής συνδυάζοντας τον υπολογισμό του χρόνου μέχρι τη σύγκρουση και την ταχύτητα του οχήματος κατά την οποία λαμβάνονται και οι διαδοχικές εικόνες. Όπου Χ είναι το βάθος, V η ταχύτητα του οχήματος και Τ είναι το TTC που υπολογίστηκε για κάθε διάνυσμα της οπτικής ροής. [1] Η στρατηγική για την αποφυγή εμποδίων Η κεντρική ιδέα είναι η παράλλαξη της κίνησης ( motion parallax ), κατά τη μεταφορική κίνηση του ρομποτικού οχήματος, όπου τα κοντινότερα αντικείμενα παράγουν μεγαλύτερη κίνηση στην απεικόνιση της κάμερας από ότι τα αντικείμενα που βρίσκονται πιο μακριά. Επίσης βασίζεται στα πλεονεκτήματα της προοπτικής όπου τα κοντινότερα αντικείμενα προέρχονται σε μεγαλύτερο βαθμό στο οπτικό πεδίο πολώνοντας τη μέση τιμή προς τη συσχετιζόμενη ροή. Το όχημα απομακρύνεται από την πλευρά με τη μεγαλύτερη ροή. Αυτός ο κανόνας ελέγχου εκφράζεται με τον παρακάτω τύπο : 48

49 Όπου Δ( - ) είναι η διαφορά των δυνάμεων στις δύο πλευρές του οχήματος και, είναι τα αθροίσματα των μεγεθών της οπτικής ροής στο οπτικό πεδίο της πλευράς που κινείται το όχημα [1]. Το αποτέλεσμα της συνολικής στρατηγικής που περιγράφηκε κρίθηκε ικανοποιητικό και το ρομπότ πλοηγήθηκε με ασφάλειο στο χώρο του πειράματος. Ωστόσο παρατηρήθηκε από τους Souhila και Karim ότι οι συνθήκες φωτισμού είναι κρίσιμης σημασίας για τον εντοπισμό εμποδίου διότι η εικόνα που λαμβάνεται σε κατάσταση χαμηλού φωτισμού περιέχει αρκετό θόρυβο με αποτέλεσμα ο υπολογισμός της οπτικής ροής να παράγει αρκετά σφάλματα. [1] 4.2 Low και Wyeth Οι Toby Low και Gordon Wyeth [3] στη δική τους μελέτη ασχολήθηκαν με την οπτική ροή σαν μέθοδο αναγνώρισης εμποδίων, αλλά την χρησιμοποίησαν ως υποσύστημα ενός μεγαλύτερου συστήματος που αφορά οπτικές μεθόδους. Μάλιστα, έκαναν και συγκρίσεις μεταξύ της αποτελεσματικότητας της οπτικής ροής έναντι της χρήσης sonars και lasers. Βασικός τους στόχος ήταν η εκμετάλλευση των πληροφοριών που παρέχει το περιβάλλον τριών διαστάσεων για την παραγωγή ενός χάρτη απόστασης. Με βάση αυτό έγινε και η παραπάνω σύγκριση. Η επιλεγμένη μέθοδος για τον υπολογισμό της οπτικής ροής ήταν η βασισμένη στα κυριότερα χαρακτηριστικά της εικόνας μέθοδος και όχι κάποια διαφορική. Σύμφωνα με αυτή, τα χαρακτηριστικά που επιλέχθηκαν για να γίνει ανίχνευση είναι οι γωνίες των αντικειμένων, κάνοντας χρήση του αλγορίθμου των Harris and Stephens [39]. Στη συνέχεια για τον υπολογισμό της ροής και την εξαγωγή των διανυσμάτων έγινε αντιστοίχιση των χαρακτηριστικών αυτών στις διαδοχικές εικόνες. Τέλος, μετά και τον υπολογισμό του TTC, δημιουργήθηκε ο χάρτης των εμποδίων, χρησιμοποιώντας τις πληροφορίες του TTC σαν μετρητή εγγύτητας. Στη διαδικασία εξαγωγής των απαιτούμενων από το τρισδιάστατο περιβάλλον, παρουσιάστηκαν 3 σημαντικά προβλήματα: Πρώτον το ρομπότ έπρεπε να κινείται με μικρή ταχύτητα προκειμένου να είναι ομαλή η κίνηση και ως εκ τούτου παρήχθησαν φτωχά και τραχιά δεδομένα οπτικής ροής. Αυτό το έλυσαν με την ανάλυση και την ανίχνευση στοιχείων μέσα από 5 συνεχόμενες 49

50 επιτυχημένες εικόνες. Δεύτερο πρόβλημα ήταν τα σφάλματα περιστροφής και ταλαντώσεων, το οποίο και αντιμετώπισαν με τη χρήση γυροσκοπίου πάνω στο ρομπότ. Τρίτο πρόβλημα ήταν οι παραμορφώσεις λόγω του φακού της κάμερας, το οποίο λύθηκε με calibration της κάμερας. Τα πειράματα που διεξήχθησαν ήταν δυο. Πρώτον σε ευθεία γραμμή ανάμεσα από δύο τεχνητά εμπόδια και φόντο χωρίς γωνίες. Δεύτερον σε αργή καμπυλωτή κίνηση κατά την οποία το ρομπότ έκανε μια δεξιόστροφη αργή κίνηση ανάμεσα σε πραγματικά εμπόδια. Συνοπτικά στα πειράματα αυτά η χρήση της οπτικής ροής ήταν πολύ πιο αποτελεσματική από το sonar στον υπολογισμό της απόστασης και ως εκ τούτου του χρόνου πριν τη σύγκρουση, για την τελική αποφυγή του εμποδίου. Αυτό όμως δε συνέβη και έναντι της χρήσης laser, το οποίο αποδεικνύεται περισσότερο ικανό στον υπολογισμό της απόστασης. Ωστόσο η διαφορά της απόδοσης της οπτικής ροής έναντι του laser μηδενίζεται σε περιπτώσεις όπου η ανάλυση της κάμερας ήταν μεγαλύτερη αλλά και η ταχύτητα του οχήματος αυξημένη, στην οποία περίπτωση το laser δεν απέδωσε εξ ίσου αποτελεσματικά. Υπήρχαν αρκετά σφάλμα στην τεχνική που ακολούθησαν αλλά ήταν αποδεκτά καθώς ο αλγόριθμος τους δεν δημιουργήθηκε για την αυτόνομη λειτουργία του αλλά ως μέρος ενός γενικότερου αλγορίθμου βασισμένου στην όραση. Ωστόσο εξήχθησαν πολύτιμες πληροφορίες και σύμφωνα με την άποψη τους με το συνδυασμό μεθόδων αναγνώρισης χρώματος, υφής και ακμών, μπορεί να παραχθεί ένα ολοκληρωμένο και αξιόπιστο σύστημα βασισμένο στη γενικότερη μέθοδο της μηχανικής όρασης. [3] 4.3 Thomas Η Teyvonia Thomas [10] αντιμετώπισε το ίδιο πρόβλημα με την παρούσα εργασία βασιζόμενη στην παραλλαγή της κίνησης, η οποία είναι η γωνιακή αλλαγή δύο σταθερών σημείων κατά μήκος δύο διαφορετικών οπτικών γραμμών, λόγω της κίνησης του παρατηρητή. Κατά την κίνηση, τα μακρινά αντικείμενα φαίνονται να κινούνται πιο αργά απ' ότι τα κοντινότερα δίνοντας έτσι μια ιδέα του βάθους. Ο αλγόριθμος αραιής οπτικής ροής που αναπτύχθηκε, επικεντρώνονταν κυρίως σε δύο βήματα, την επιλογή χαρακτηριστικών σημείων και την παρακολούθηση τους. Η επιλογή των σημείων έγινε με τη χρήση του αλγορίθμου Shi-Tomashi, ενώ η παρακολούθηση τους με τη χρήση του αλγορίθμου Pyramidal Lucas-Kanade. 50

51 Στη συνέχεια έγινε χρήση της τριγωνοποίησης του Delaunay προκειμένου να εντοπιστούν οι γειτονιές των σημείων που παίρνουν μέρος στην οπτική ροή. Η μέθοδος αυτή δημιουργεί τριγωνικές ομάδες κορυφών ώστε η ελάχιστη γωνία όλων των γωνιών της τριγωνοποίησης να μεγιστοποιηθεί. Το παρακάτω σχήμα παρουσιάζει την τριγωνοποίηση. Σχήμα 4.3 : Τριγωνοποίηση Delaunay Πηγή:[10] Η τριγωνοποίηση έγινε κατά τέτοιο τρόπο ώστε κανένας κύκλος που περνά από τρία σημεία της τριγωνοποίησης, να μην περιέχει άλλο σημείο στο σετ των κορυφών. Έπειτα υπολογίστηκε η αλλαγή της τοπικής κλίμακας για κάθε χαρακτηριστικό σημείο με βάση την εξής λογική: - Καθώς το ρομπότ κινείται προς το εμπόδιο, η απόσταση μεταξύ των γειτονικών χαρακτηριστικών σημείων μικραίνει - Ο εντοπισμός της τοπικής κλίμακας για κάθε χαρακτηριστικό σημείο δύο διαδοχικών 51

52 frames γίνεται με την ακόλουθη εξίσωση: Έπειτα οριοθετείται η τιμή της τοπικής κλίμακας ώστε s_i(j) > γ_s (γ_s = 0,1 max(s_i(j)). Τέλος υπολογίζεται το TTC με την ακόλουθη εξίσωση: t_i(j) = 1/ s_i(j) Ένα από τα προβλήματα που εμφανίστηκαν ήταν η σταθεροποίηση του βίντεο. Καθώς το ρομπότ κινούνταν στο έδαφος, παράγονταν ταλαντώσεις στην κάμερα με αποτέλεσμα να παραχθούν σφάλματα κατά τον υπολογισμό της οπτικής ροής. Άλλο πρόβλημα ήταν φτωχή υφή των εισαγόμενων εικόνων, το οποίο αντιμετωπίστηκε τοποθετώντας εφημερίδες στους τοίχους αλλά και με χρήση εμποδίων με πλούσια υφή, ώστε να είναι ευκολότερος ο εντοπισμός χαρακτηριστικών σημείων. Τέλος, άλλο πρόβλημα που παρουσιάστηκε ήταν η θολή εικόνα λόγω της υψηλής σχετικά ταχύτητας του ρομπότ, που αντιμετωπίστηκε απλά προγραμματίζοντας το ρομπότ να κινείται με μικρότερη ταχύτητα, κάτι που όμως δεν είναι ρεαλιστικό σε πραγματικές συνθήκες. 4.4 Jurriaans Ο Robrecht Jurriaans [4] ασχολήθηκε με την αυτόνομη πλοήγηση στον αέρα ενός ΑR.Drone επίσης με τη χρήση μίας μόνο κάμερας υπολογίζοντας την οπτική ροή. Οι αλγόριθμοι χρησιμοποιήθηκαν ήταν οι: Shi-Tomashi, RANSAC και Hartley. Μέσω του αλγόριθμου Shi-Tomashi έγινε ο εντοπισμός των χαρακτηριστικών σημείων για την ανίχνευση τους σε κάθε διαδοχική εικόνα. Ο αλγόριθμος RANSAC με τη σειρά του χρησιμοποιήθηκε για την εκτίμηση του θεμελιώδους πίνακα, ο οποίος περιέχει τη σχέση μεταξύ των δύο frames με την οποία μπορεί να δοθεί η τοποθεσία κάθε εικονοστοιχείου από το ένα frame στο επόμενο. Σε περίπτωση που η φυσική σχέση μεταξύ των δύο frames είναι γνωστή, ο θεμελιώδης πίνακας μπορεί να χρησιμοποιηθεί για την δημιουργία του 52

53 ουσιώδους πίνακα, ο οποίος παρέχει την ίδια πληροφορία, αλλά σε φυσικές συντεταγμένες αντί σε συντεταγμένες εικονοστοιχείων. Μετά τον υπολογισμό του θεμελιώδους πίνακα, οι εικόνες μπορούν να διορθωθούν με τη χρήση του αλγόριθμου του Hartley, χωρίς να κρίνεται απαραίτητο το calibration. Αυτό που ουσιαστικά κάνει ο αλγόριθμος αυτός είναι να βρίσκει τις ομογραφίες που τοποθετούν τα epipoles στο άπειρο ενώ ελαχιστοποιεί τις υπολογισμένες ανισότητες. Αυτό γίνεται ταιριάζοντας σημεία μεταξύ των ζευγαριών εικόνων. Το πρόβλημα που προκύπτει είναι ότι ο αλγόριθμος αυτός δεν υπολογίζει την κλίμακα. Αυτό έχει ως αποτέλεσμα το ότι η τριών διαστάσεων ανακατασκευή μπορεί να προσδιοριστεί μόνο ως μια μετασχηματιζόμενη προβολή. Αυτό σημαίνει επίσης ότι διαφορετικές προβολές ενός αντικειμένου μπορεί να εμφανίζεται με τον ίδιο τρόπο όταν γίνεται η διαμόρφωση των χαρακτηριστικών σημείων. Πειραματικά τώρα, έγινε χρήση κάμερας ανάλυσης 320x240 pixels, υπολογίστηκε η οπτική ροή της οποίας τα διανύσματα χρησιμοποιήθηκαν για τον υπολογισμό του θεμελιώδους πίνακα ο οποίος με τη σειρά του ήταν η είσοδος για τον αλγόριθμο του Hartley. Ο χάρτης ανομοιοτήτων που παράχθηκε ήταν χαμηλής ποιότητας και με πολλά χαμένα εικονοστοιχεία, λόγω της αραιής αναπαράστασης της οπτικής ροής που χρησιμοποιήθηκε. Για την αύξηση της απόδοσης τοποθετήθηκε υφή στους τοίχους αλλά και έγινε χρήση κάμερας μεγαλύτερης ανάλυσης, με το συνδυαστικό αποτέλεσμα αυτών να είναι ο καλύτερος εντοπισμός χαρακτηριστικών σημείων. Οι περιορισμοί που υπήρχαν κατά την πειραματική διαδικασία με τη χρήση κάμερας χαμηλής ανάλυσης ήταν αρκετοί. Παρ' όλο που ο αλγόριθμος ήταν ικανός να δημιουργεί χάρτη ανομοιοτήτων, δεν ήταν τόσο σθεναρός όσο της κλασικής μεθόδου στερεοσκοπικής όρασης. Εξαιτίας των δεδομένων ταχύτητας που υπάρχουν κατά την εφαρμογή της πλοήγησης σε συνθήκες πραγματικού χρόνου, ο χρησιμοποιούμενος αλγόριθμος για την στερεοσκοπική όραση μονής κάμερας, πρέπει να εφαρμοστεί κατά τέτοιο τρόπο ώστε να δίνει βάση στη σθεναρότητά του. Αυτό σημαίνει ότι ο υπολογισμός του RANSAC πρέπει να τερματίζεται μετά από μικρότερο αριθμό επαναλήψεων. Έτσι γίνεται δύσκολο για τον αλγόριθμο αυτό να χρησιμοποιηθεί σε συνθήκες που υπάρχει έλλειψη πλούσιας υφής στο περιβάλλον. Άλλος περιορισμός είναι ότι δε μπορεί να υπολογιστεί το βάθος πεδίου εφόσον δεν υπολογίζεται οποιαδήποτε κλίμακα, οπότε είναι περισσότερο αλγόριθμος αναγνώρισης μονοπατιού απ' ότι αναγνώρισης απόστασης. Αυτοί οι περιορισμοί επηρεάζουν τη δημιουργία χάρτη ανομοιοτήτων. Μετά τη χρήση όμως κάμερας υψηλότερης ανάλυσης η εφαρμογή του RANSAC ήταν πιο αποδοτική αφού τα στοιχεία θορύβου που απορρίπτονταν ήταν περισσότερα, οπότε και ο χάρτης ανομοιοτήτων ήταν καλύτερης ποιότητας. [4] 4.5 Σύνοψη Στο κεφάλαιο αυτό παρουσιάστηκαν τα σχετικότερα άρθρα και εργασίες που ακολουθούν τη μέθοδο 53

54 του υπολογισμού της οπτικής ροής, με διαφορετικές προσεγγίσεις του κάθε μελετητή στην ανάπτυξη του εκάστοτε αλγορίθμου. Η λειτουργία κάθε προσέγγισης ήταν εμφανής, στις συνθήκες στις οποίες υποβλήθηκαν τα πειράματα, με άλλες προσεγγίσεις να είναι περισσότερο αποτελεσματικές από κάποιες άλλες, ενώ φάνηκαν και τα πλεονεκτήματα αλλά και τα μειονεκτήματα που παρουσίασε η κάθε προσέγγιση ξεχωριστά. Σε κάθε περίπτωση η ενημέρωση και η γνώση που παρείχαν αυτές οι μελέτες και οι εργασίες είναι πολύτιμη για μελλοντικές βελτιώσεις και εφαρμογή παραλλαγών τους. 5. Υλικό και επικοινωνία Στο παρόν κεφάλαιο, θα αναλυθεί το σύνολο των συνιστωσών υλικού (hardware) που χρησιμοποιήθηκαν για την παρούσα διπλωματική εργασία, καθώς και ο τρόπος διασύνδεσης τους. Το σύστημα που κατασκευάστηκε αποτελείται από : ένα μικροϋπολογιστικό σύστημα της Olimex : A20 OLinuXino- MICRO, έναν οδηγό Dual Full-Bridge L928 Driver, μία βάση που είναι στερεωμένοι οι κινητήρες και οι ρόδες του οχήματος, και μία Webcam Microsoft LifeCam HD Το μικροϋπολογιστικό σύστημα A20 OLIMEX 54

55 Σχήμα 5.1 : Το μικρούπολογιστικό σύστημα Olimex A20. Πηγή: [41] Το ολοκληρωμένο μικροϋπολογιστικό σύστημα που χρησιμοποιείται στη διπλωματική αυτή είναι το A20-OLinuXino-MICRO-4GB,της εταιρίας Olimex Ltd με έδρα στη Βουλγαρία. Διαθέτει επεξεργαστή ARM Cortex-A7, δύο πυρήνων στα 2Ghz με 4GB NAND Flash memory. Ακόμη περιλαμβάνει 1GB DDR3 RAM memory, διπύρηνη ARM Mali400MP2 GPU, δύο θύρες USB, θύρα HDMI και τροφοδοσία στα 5V. Το κύριο πλεονέκτημα του επεξεργαστή Α20 είναι η ισχυρή υπολογιστική του ισχύς που επιτρέπει την αναπαραγωγή FullHD βίντεο. Η γραφική του επεξεργασία είναι επίσης αρκετά ισχυρή συνοδευόμενη από το κατάλληλο software. Το σύστημα τρέχει σε Linux με κατάλληλες τροποποιήσεις από το αρχικό λειτουργικό Android. Οι βασικές συνιστώσες του συστήματος φαίνονται και στο παρακάτω μπλοκ διάγραμμα: 55

56 Σχήμα 5.2 : Μπλοκ διάγραμμα των βασικών συνιστωσών του συστήματος Οδηγίες για την εγκατάσταση λειτουργικού Unix (Debian) βρίσκονται στον παρακάτω σύνδεσμο : Το μικροϋπολογιστικό αυτό σύστημα διαθέτει 160 θύρες Γενικής Χρήσης Εισόδου-Εξόδου ( General Purpose Input/Output GPIO ) για επικοινωνία με οθόνες LCD αλλά και με άλλα μέρη όπως κινητήρες. Αυτού του είδους η επικοινωνία θα χρησιμοποιηθεί ανάμεσα στο μικροϋπολογιστικό μας σύστημα και στους κινητήρες που θα χρησιμοποιηθούν για την κίνηση του συστήματος μας. Ακολουθεί η περιγραφή του μικροϋπολογιστικού συστήματος και των μερών του, οι σημαντικές θύρες εισόδου εξόδου και εποικοινωνίας και στη συνέχεια ανάλυση ορισμένων από αυτές : 56

57 5.1.1 Περιγραφή του μικροϋπολογιστικου συστηματος Επάνω όψη μικροϋπολογιστή: Σχήμα 5.3 : Επάνω όψη μικροϋπολογιστικού συστήματος Olimex A20 Κάτω όψη μικροϋπολογιστή: Στην κάτω όψη υπάρχουν κυρίως πλήκτρα και η θύρα εισόδου καρτών SD/MMC connector : Σχήμα 5.4 : Κάτω όψη μικροϋπολογιστικού συστήματος Olimex A20 57

58 Διασυνδέσεις και ακίδες Επικοινωνία με τον A20 : Ο άμεσος τρόπος επικοινωνίας είναι μέσω της σειριακής σύνδεσης. Είτε με σύνδεση της COM θύρας του υπολογιστή με την αρσενική UART0 υποδοχή του μικροεπεξεργαστή,είτε μέσω των θυρών USB μέσω της διεπαφής USART0 και καλωδίου USB-SERIAL-CABLE-F. Άλλοι πιο έμμεσοι τρόποι επικοινωνίας είναι μέσω περιφερειακών συσκευών όπως πληκτρολόγιο και ποντίκι, μέσω οθόνης LCD και άλλων περιφερειακών. Υποδοχές καρτών SD ( SD card connectors ) : Υπάρχουν δύο υποδοχές SD καρτών στο A20 board. Η συνήθως χρησιμοποιούμενη υποδοχή βρίσκεται στην πάνω πλευρά δίπλα στις υποδοχές εισόδου-εξόδου ήχου. Η μόνη κάρτα που χρησιμοποιείται από το λειτουργικό σύστημα από προεπιλογή είναι μόνο η micro SD υποδοχή. Ωστόσο υπάρχει και δεύτερη υποδοχή SD/MMC στο κάτω μέρος της πλακέτας επειδή είναι ευρέως χρησιμοποιούμενη. Και οι δύο υποδοχές SD μπορούν να χρησιμοποιούνται ταυτόχρονα, δεν υπάρχει πολύπλεξη ανάμεσα στα δεδομένα τους.για παράδειγμα,η μία μπορεί να χρησιμοποιείται για να εκκινεί το λειτουργικό σύστημα, ενώ η άλλη για αποθηκευτικός χώρος. Θύρες γενικής χρήσης εισόδου - εξόδου ( General Purpose Input/ Output ports GPIO ports) Υπάρχουν τρεις ομάδες θυρών γενικής χρήσης εισόδου-εξόδου στο μικροϋπολογιστικό αυτό σύστημα. Γενικά αυτές μπορούν να χρησιμοποιηθούν για την πρόσβαση σε αχρησιμοποίητες από τα περιφερειακά του board ακίδες. Ορισμένες ακίδες μπορούν να χρησιμοποιηθούν και ως I2C ή SPI χωρίς να υπάρχει πρόβλημα. Ακολουθεί σχήμα με τις ομάδες GPIO και λεπτομέρεις για αυτές : 58

59 GPIO-1 / 40pin connector (πρώτη ομάδα θυρών γενικής χρήσης) Σχήμα 5.5 : Πρώτη ομάδα θυρών γενικής χρήσης του μικροϋπολογιστικού συστήματος Olimex A20 Στον παραπάνω πίνακα παρουσιάζεται ο αριθμός της κάθε ακίδας, ο όνομα του σήματος, καθώς και ποια ακίδα του επεξεργαστή συνδέεται. Το κίτρινο τμήμα του πίνακα απεικονίζει όλα τα σήματα που μοιράζονται με την 6βολτη σύνδεση VGA. GPIO-2 / 40pin connector (δεύτερη ομάδα θυρών γενικής χρήσης) Αυτές οι θύρες βρίσκονται σε έναν δεύτερο υποδοχέα ακίδων. Επιτρέπουν τη σύνδεση επιπλέον υλικού (hardware), τους ελέγχους υλικού και το debugging. Ακολουθεί μία σχηματική απεικόνιση των ακίδων σε μεγέθυνση και επεξήγηση τους : 59

60 Σχήμα 5.6 : Δεύτερη ομάδα θυρών γενικής χρήσης του μικροϋπολογιστικού συστήματος Olimex A20 GPIO-3 / 40pin connector (τρίτη ομάδα θυρών γενικής χρήσης) Ο υποδοχέας GPIO-3 εξυπηρετεί τα σήματα του ολοκληρωμένου διαχείρησης ισχύος AXP152 PMIC. Τα διαθέσιμα σήματα μπορούν να χρησιμοποιηθούν για να επιτελέσουν λειτουργίες ρύθμισης ισχύος στο σύστημα όπως να εκκινήσουν τη συσκευή σε συγκεκριμένο επίπεδο τάσης ή την ανίχνευση του επιπέδου τάσης. Ακόμη μπορεί να υπάρχει πρόσβαση στα σήματα JTAG από αυτήν την υποδοχή. Ακολουθεί η επεξήγηση της λειτουργίας των ακίδων : 60

61 Σχήμα 5.7 : Τρίτη ομάδα θυρών γενικής χρήσης του μικροϋπολογιστικού συστήματος Olimex A20 Το κίτρινο τμήμα του πίνακα απεικονίζει τα σήματα JTAG. Υπάρχει εύκολη πρόσβαση σε αυτά τα σήματα μέσω της υποδοχής GPIO-3. Τα σήματα JTAG μπορούν να βρεθούν στη θύρα PB του επεξεργαστή Επικοινωνία με τον A20 Η επικοινωνία του προσωπικού μας υπολογιστή με το μικροϋπολογιστικό σύστημα γίνεται είτε μέσω Ethernet είτε μέσω USB Serial καλωδίου [41]. Αφού ενεργοποιήσουμε το σύστημα, δηλαδή το τοποθετήσουμε στην πρίζα για τροφοδοσία ή του συνδέσουμε μπαταρία και πατήσουμε το πλήκτρο POWER (ή εναλλακτικά το RESET), και έχοντας συνδέσει οθόνη με καλώδιο HDMI και ποντίκι, πληκτρολόγιο στις USB θύρες, έχουμε πλέον έναν κανονικό υπολογιστή με Unix. 61

62 1) Οδηγίες για σύνδεση μέσω Ethernet : Από τη στιγμή που θα ανοίξουμε το terminal (Ctrl+Alt+T), πληκτρολογούμε τα εξής : sudo su (Ζητείται κωδικός και πληκτρολογούμε olimex) και μετά πατάμε το ENTER cd /etc/network nano interfaces Πίνακας 5.1 : Οδηγίες για άνοιγμα του αρχείου /etc/network/interfaces Και ανοίγει το αρχείο interfaces με πληροφορίες για τις συνδέσεις του μικροϋπολογιστικού συστήματος. Εκεί μπορούμε να δούμε πληροφορίες για τις συνδέσεις Ethernet, Wifi, USB και άλλες. α) Εάν θέλουμε να συνδέσουμε το καλώδιο του Ethernet ανάμεσα στο μικροϋπολογιστικό μας σύστημα και το router, έτσι ώστε να αναθέτει το router μία διεύθυνση IP στο σύστημα, τότε επιλέγουμε ως σχόλια τις οδηγίες για static IP και αφήνουμε τα υπόλοιπα ως έχουν. Αναλυτικά φαίνεται στην παρακάτω φωτογραφία πώς πρέπει να δείχνει το αρχείο interfaces : Σχήμα 5.8 : Το αρχείο interfaces για αυτόματη ανάθεση IP από το router 62

63 β) Διαφορετικά, αν θέλουμε να έχουμε μία στατική διεύθυνση IP (static IP), για παράδειγμα την , και η επικοινωνία μέσω καλωδίου Ethernet να είναι ανάμεσα στον υπολογιστή και το μικροϋπολογιστικό σύστημα, βάζουμε σαν σχόλιο την αυτόματη ανάθεση διεύθυνσης από το router : Σχήμα 5.9 : Το αρχείο interfaces για χειροκίνητη ανάθεση IP από το χρήστη Και στις δύο περιπτώσεις, ο απομακρυσμένος έλεγχος από τον υπολογιστή/laptop γίνεται μέσω του προγράμματος tightvnc που στήνεται στο μικροϋπολογιστικό σύστημα ως εξής : sudo apt-get install xtightvncviewer Και στον άλλο υπολογιστή που χρησιμοποιείται για απομακρυσμένο έλεγχο ως εξής : Αν πρόκειται για σύστημα βασισμένο σε linux : sudo apt-get install tightvncserver 63

64 Διαφορετικά αν πρόκειται για υπολογιστή με windows κατεβάζουμε το πρόγραμμα από την ιστοσελίδα: Το πρόγραμμα αυτό ζητάει μία διεύθυνση IP στην οποία βρίσκεται ο προς έλεγχο υπολογιστής ( το μικροϋπολογιστικό σύστημα olimex στην προκειμένη περίπτωση ) και αποκτά έλεγχο σε αυτή, παρέχει δηλαδή πρόσβαση στην οθόνη και τους φακέλους, σαν να ήμασταν μέσω HDMI συνδεδεμένοι σε οθόνη. Έτσι, μπορούμε απομακρυσμένα να εκτελούμε προγράμματα και εντολές στο μικροϋπολογιστικό σύστημα, καθώς και να έχουμε εικόνα της οθόνης του. Εναλλακτικά, το πρόγραμμα putty μπορεί να χρησιμοποιηθεί για τη σύνδεση μέσω Ethernet στην περίπτωση 1β είτε από υπολογιστή linux είτε από windows : Σχήμα 5.10: Το περιβάλλον του putty σε περιβάλλον Linux 64

65 Όπου πληκτρολογούμε την εκάστοτε δειύθυνση που έχει το μικροϋπολογιστικό σύστημα, δηλαδή στην προκειμένη περίπτωση την και πατάμε open : Σχήμα 5.11: Κατάλληλη ρύθμιση των παραμέτρων του putty για σύνδεση μέσω Ethernet Στη συνέχεια ζητείται χρήστης και κωδικός και πληκτρολογούμε olimex και olimex αντίστοιχα και ENTER. Η σύνδεση είναι επιτυχής : Σχήμα 5.12 : Επιτυχής σύνδεση μέσω Ethernet 65

66 Σχήμα 5.13 : Το περιβάλλον του putty σε περιβάλλον Windows 2) Οδηγίες για σύνδεση μέσω Serial USB : Υπάρχει ακόμη η δυνατότητα για σειριακή σύνδεση του υπολογιστή με το μικροϋπολογιστικό σύστημα. Το πλεονέκτημα αυτής της σύνδεσης είναι ότι αφού επιτευχθεί, δε χάνεται έως ότου σβήσει το μικροϋπολογιστικό σύστημα, ακόμη και αν αποσυνδεθεί το καλώδιο USB. Ανοίγοντας λοιπόν πάλι το αρχείο interfaces προγραμματίζουμε τη διεύθυνση να είναι για Serial USB χρήση όπως αναφέρεται και στο datasheet του Α20 [41] : Σχήμα 5.14 : Το αρχείο interfaces για σειριακή σύνδεση με καλώδιο USB 66

67 Το putty προσφέρεται πάλι για εύκολο έλεγχο μέσω Serial USB ως εξής : Σχήμα 5.15: Κατάλληλη ρύθμιση των παραμέτρων του putty για σύνδεση μέσω USB Serial Port Δηλαδή, επιλέγουμε τη γραμμή /dev/ttyusb0 και ταχύτητα διαύλου Και πατάμε το open για επιτυχή σύνδεση που δε διακόπτεται ούτε με την αποσύνδεση του USB καλωδίου. 67

68 5.2 Σύνδεση με κινητήρες και έλεγχος Σύνδεση μέσω του L298 Bridge Driver Η οδήγηση των σημάτων του μικροϋπολογιστή στους κινητήρες, καθώς και ο έλεγχος των κινητήρων επιτυγχάνεται μέσω ενός ολοκληρωμένου συστήματος της olimex και συγκεκριμένα του BB-L298 DUAL FULL BRIGDE DRIVER. Σχήμα 5.16 : To oλοκληρωμένο BB-L298 της olimex Το ενσωματωμένο αυτό σύστημα, σχεδιασμένο ώστε να υποστηρίζει υψηλά ρεύματα και τάσεις (έως 46V τάση λειτουργίας και 4 Α συνολικό DC ρεύμα και χαμηλή τάση κορεσμού ), αποτελέι ιδανική επιλογή για υλοποίηση συστημάτων με ρελαί, DC κινητήρες και ηλεκτρομαγνητικές βαλβίδες. Στην προκειμένη περίπτωση, σκοπός του είναι η οδήγηση των ψηφιακών σημάτων που παράγονται από τις θύρες εισόδου εξόδου του μικροϋπολογιστικού μας συστήματος ( GPIO ports ) στους κινητήρες που θέλουμε να ελέγξουμε, προκειμένου να πετύχουμε τη σωστή κίνηση των τροχών και επομένως, σωστό έλεγχο του οχήματος. Είναι συμβατό με τη χρήση κινητήρων από την olimex, όπως αυτούς που χρησιμοποιούμε δηλαδή τους MG

69 Το σχηματικό διάγραμμα στο εσωτερικό του L298 είναι το ακόλουθο : Σχήμα 5.17 : Το σχηματικό διάγραμμα του Olimex BB- L298 Ωστόσο παρουσιάζει ενδιαφέρον η δυνατότητα του να ελέγξει κινητήρα που κινεί ρόδες και προς τις δύο πλευρές. Αυτή του τη δυνατότητα θα εκμεταλλευτούμε και θα χρησιμοποιήσουμε για την κίνηση των κινητήρων. Ο κάθε κινητήρας θα ελέγχει και από μία ρόδα στο όχημα. Στο παρακάτω διάγραμμα φαίνονται οι συνδυασμοί με του οποίους πετυχαίνουμε την επιθυμητή κίνηση των κινητήρων : Σχήμα : Σχηματικό με τους συνδυασμούς που απαιτούνται για σωστή κίνηση των κινητήρων 69

70 Όπως βλέπουμε, υπάρχουν τρία σήματα που μας ενδιαφέρουν. Τα Ven ( Enable ), C, D για κάθε κινητήρα. Επομένως συνολικά 6 (έξι ) σήματα. Έχοντας δηλαδή κίνηση προς τα μπροστά και στους δύο κινητήρες ( και στις δύο δηλαδή ρόδες ) θα έχουμε συνολική κίνηση του οχήματος προς τα μπροστά. Ομοίως για κίνηση και των δύο προς τα πίσω θα έχουμε συνολική κίνηση του οχήματος προς τα πίσω. Για κίνηση προς τα δεξιά, επιλέγουμε να κινήσουμε την αριστερή ρόδα προς τα μπροστά και τη δεξιά να την αφήσουμε ακίνητη. Έτσι με παρόμοιο τρόπο σκέψης, για κίνηση προς τα αριστερά, κινούμε προς τα μπροστά τη δεξιά ρόδα και αφήνουμε ακίνητη την αριστερή. Η παραπάνω λογική είναι η κυρίαρχη στην εργασία αυτή για την κίνηση του οχήματος και μέσω κατάλληλων σημάτων πετυχαίνουμε τη συμπεριφορά αυτή. Δηλαδή για κίνηση μπροστά έχουμε : Κινητήρας Δεξιάς Ρόδας : Ven =H C=H D=L Κινητήρας αριστερής ρόδας : Ven =H C=H D=L Πίνακας 5.2 : Συνδυασμοί για κίνηση προς τα μπροστά Ενώ για στροφή δεξιά για παράδειγμα : Κινητήρας Δεξιάς Ρόδας : Ven =H C=D (δηλαδή ακινητοποίηση της δεξιάς ρόδας ) Κινητήρας αριστερής ρόδας : Ven =H C=H D=L Πίνακας 5.3 : Συνδυασμοί για κίνηση προς τα δεξιά 70

71 Τα παραπάνω προκύπτουν από το διάγραμμα 5.18 με την ίδια λογική να ακολουθείται σε κάθε έναν από τους κινητήρες. Περισσότερες λεπτομέρειες για τον τρόπο που θα γίνει η σύνδεση ανάμεσα στις παραπάνω απαιτήσεις για το hardware και στο software που θα χρησιμοποιηθεί ακολουθεί στο επόμενο κεφάλαιο. 5.3 Κάμερα και λοιπά εξαρτήματα H κάμερα Εκτός των δύο ολοκληρωμένων μικροϋπολογιστικών συστημάτων, χρησιμοποιήθηκε μία κάμερα για μηχανική όραση και συγκεκριμένα monocular vision ( pinhole camera ). Η κάμερα είναι το μοντέλο LifeCam HD 3000 της Microsoft. Σχήμα : Η κάμερα Microsoft LifeCam 3000 HD Η κάμερα αυτή διαθέτει τα εξής τεχνικά χαρακτηριστικά : Max Digital Video Resolution : 1280 X 720 Sensor : 720p HD Video frame rate (max): 30fps Connection : USB 2.0 Features : 16:9 widescreen mode 71

72 5.3.2 Ρόδες, κινητήρες, βάση για το όχημα Επιπλέον, για την κατασκευή του συστήματος και την απαίτηση να είναι στέρεο και ικανό να κινηθεί με ταχύτητα και να μην χαλάσουν οι επαφές και οι διασυνδέσεις, χρησιμοποιήθηκαν τα παρακάτω εξαρτήματα από την εταιρεία Οlimex : Υποδοχή για μπαταρίες για την τροφοδοσία των κινητήρων, βάση για το όχημα με στερεωμένες δύο ρόδες και μία που κινείται όπως επιβάλλουν οι άλλες δύο, καθώς και στερεωμένοι κινητήρες MG-6-48, ροδάκια και οι απαραίτητες βίδες και υποδοχείς για να στερεωθούν τα παραπάνω σε μια βάση με το εξής αποτέλεσμα : Σχήμα : Η βάση για το ρομποτικό όχημα χωρίς την προσθήκη κάμερας και μικροϋπολογιστή Επιπλέον, αν στερεώσουμε την κάμερα στο κέντρο της μπροστινής πλευράς ( ανάμεσα στις ρόδες ) και το μικροϋπολογιστικό σύστημα έτσι ώστε να έχει τροφοδοσία μέσω μιας μπαταρίας και προσθέσουμε και την τροφοδοσία για τους κινητήρες θα έχουμε σχεδόν ολοκληρωμένο το ενσωματωμένο μας σύστημα από την πλευρά του hardware. Το μόνο που απομένει είναι η σωστή διασύνδεση ορισμένων ακίδων του μικροϋπολογιστή με τις αντίστοιχες του οδηγού L298 που θα ενεργοποιεί κατάλληλα τους κινητήρες για κίνηση των ροδών. 72

73 5.4 Σύνδεση ακίδων GPIO Όπως ήδη αναφέρθηκε, τα σήματα προς τον οδηγό L298 θα δίνονται ως λογικό 0 ή 1, δηλαδή πρόκειται για ψηφιακά σήματα που αποτελούν εξόδους των θυρών GPIO του A20 olimex υπολογιστικού συστήματος. Ας παρουσιάσουμε τον τρόπο που δίνονται σήματα ως έξοδοι στις θύρες του A20 όπως περιγράφεται και στο datasheet της εταιρείας στο κεφάλαιο GPIO Under Debian. Έχοντας συνδέσει το μικροϋπολογιστικό σύστημα Α20 σε έναν υπολογιστή και μέσω terminal πληκτρολογούμε : for i in `seq `; do echo $i > Με την εντολή αυτή αρχικοποιούμε όλες τις θύρες του μικροϋπολογιστικού συστήματος. Εν συνεχεία, πρέπει να καθορίσουμε ως τι θέλουμε να δουλέψει κάθε θύρα, δηλαδή ως είσοδος ή ως έξοδος. Έστω ότι θέλουμε να αρχικοποιήσουμε τη θύρα gpio49_ph9 ως είσοδο αρχικά και μετά ως έξοδο. Αυτό γίνεται με τις εντολές : echo "in" > /sys/class/gpio/gpio49_ph9/direction echo "out" > /sys/class/gpio/gpio49_ph9/direction Ενώ με τις εντολές : echo 0 > /sys/class/gpio/gpio49_ph9/value echo 1 > /sys/class/gpio/gpio49_ph9/value Βάζουμε στη θύρα αυτή ( σε περίπτωση που είναι προγραμματισμένη ως έξοδος ) τις τιμές 0 ή 1 όπως φαίνεται παραπάνω. Με τη λογική αυτή θα προγραμματίσουμε ορισμένες θύρες για να έχουν καθορισμένες τιμές, και πιο συγκεκριμένα, τις τιμές που θέλουμε ως συνδυασμούς για κίνηση μπροστά, πίσω, δεξιά ή αριστερά όπως αναλύθηκε σε προηγούμενο κεφάλαιο. Ένα ερώτημα που γεννάται είναι πόσες θύρες χρειαζόμαστε να προγραμματίσουμε και εν συνεχεία ποιες θα είναι οι θύρες αυτές. 73

74 Η απαντήσεις είναι η εξής : Όπως αναφέραμε αναφορικά με τα σήματα που απαιτούνται από τον οδηγό L298 για κάθε κινητήρα, τα σήματα αυτά είναι 3 για κάθε κινητήρα - ρόδα. Επομένως χρειαζόμαστε να προγραμματίσουμε 6 θύρες ακίδες πάνω στον μικροϋπολογιστή. Το ποιες θα είναι αυτές εξαρτάται καθαρά από την επιλογή του χρήστη, καθώς με ελάχιστες εξαιρέσεις ( θύρες δεσμευμένες από το σύστημα για συγκεκριμένους σκοπούς όπως πχ. Σήματα TXRDY κλπα ) όλες οι προς προγραμματισμό θύρες δέχονται προγραμματισμό ως έξοδοι. Το ζήτημα είναι να γίνει αντιληπτός ο τρόπος αντιστοίχησης των συμβόλων όπως για παράδειγμα gpio49_ph9 και της φυσικής θέσης των θυρών αυτών στο board. Μελετώντας το datasheet του μικροϋπολογιστικού συστήματος Olimex A20 βλέπουμε τη διάταξη των θυρών γενικής χρήσης εισόδου / εξόδου όπως αναφέρθηκε παραπάνω. Έτσι ξέρουμε ποια είναι η θέση τους πάνω στο board. Είδαμε πιο πάνω ότι οι διαθέσιμες θύρες που προκύπτουν από την εντολή : for i in `seq `; do echo $i > Είναι οι εξής : Σχήμα 5.21 : Οι προγραμματίσιμες θύρες του ολοκληρωμένου Α20 Για παράδειγμα, επιλέγουμε για το σήμα Left Enable να χρησιμοποιήσουμε τη θύρα gpio2_pg1. Αυτή, σύμφωνα με το σχήμα που έχει ήδη προηγηθεί, αλλά το επαναλαμβάνουμε για καλύτερη κατανόηση, βρίσκεται εύκολα ως εξής : 74

75 Σχήμα 5.22 : Η ακίδα gpio2_pg1 και η θέση της στο datasheet Ανήκει δηλαδή στην ομάδα GPIO-1 connector και στη θέση 7.Είναι δηλαδή η 4 η αριστερή ακίδα όπως φαίνεται κρατώντας το board ώστε πάνω αριστερά να είναι το σήμα 5V στη θύρα GPIO-1 connector. Δηλαδή βρίσκεται στην εξής ακριβώς θέση : Σχήμα 5.23 : Η ακίδα gpio2_pg1 και η φυσική θέση της στο board Olimex A20 75

76 Το σχήμα είναι γυρισμένο έτσι ώστε να φαίνεται η αντιστοιχία μεταξύ του προηγούμενου πίνακα και της όψης του board. Με τον ίδιο τρόπο αντιστοιχίζονται και οι υπόλοιπες πέντε ακίδες (σύνολο 6) στα σωστά σημεία και η διασύνδεση είναι έτοιμη. Τέλος, αξίζει να αναφερθεί ότι η επιλογή των παρακάτω θυρών έγινε ώστε να είναι κοντά χωροταξικά και να επιτρέπουν τη σύνδεση των καλωδίων. Επιλέχθηκαν τελικά οι εξής : Left Enable gpio2_pg1 Left C gpio3_pg2 Left D gpio4_pg3 Right Enable gpio48_pi0 Right C gpio49_pi1 Right D gpio50_pi2 Πίνακας 5.4 : Η επιλογή των θυρών και τα προς έλεγχο σήματα Το ολοκληρωμένο σύστημα με όλα τα εξαρτήματα στερεωμένα και έτοιμο προς χρήση φαίνεται στην παρακάτω φωτογραφία : Σχήμα 5.24 : Το ενσωματωμένο σύστημα του ρομποτικού οχήματος μετά την ολοκλήρωση της κατασκευής του 76

77 6. Ανάπτυξη του αλγορίθμου και επικοινωνία με το υλικό Στο προηγούμενο κεφάλαιο παρουσιάστηκε το σύνολο των βασικών συνιστωσών του υλικού (hardware) που χρησιμοποιήθηκε και η λογική που θα ακολουθηθεί για τη λειτουργία του ρομποτικού οχήματος. Στο παρόν κεφάλαιο θα αναλυθεί ο τρόπος διασύνδεσης του hardware με το software, δηλαδή το σύνολο των εντολών που θα χρησιμοποιηθούν για την επικοινωνία ανάμεσα στο μικρουπολογιστικό σύστημα και τον οδηγό ( full-bridge driver ) L298 προκειμένου να λειτουργεί σωστά το ρομποτικό όχημα. Έχοντας εξασφαλίσει την σωστή σύνδεση των ακίδων του μικρουπολογιστικού συστήματος Α20 με το L298, είμαστε πλέον σε θέση να παρουσιάσουμε τη λογική της λήψης των αποφάσεων καθώς επίσης και κάποια κομμάτια του κώδικα. 6.1 Ανάπτυξη του αλγορίθμου αποφυγής εμποδίων Αφού αναλύθηκαν τα βασικά στοιχεία θεωρίας για τη λογική λήψης αποφάσεων ας μελετήσουμε αναλυτικότερα το σχεδιασμό του αλγορίθμου. Αρχικά, η κάμερα λαμβάνει την πρώτη εικόνα / frame. Εφαρμόζεται μία μέθοδος εξαγωγής σημείων ενδιαφέροντος, συγκεκριμένα η Shi and Tomasi Tracking και εξάγονται ορισμένα χαρακτηριστικά σημεία. Στη συνέχεια διαβάζεται ένα δεύτερο frame και αντιστοιχίζονται τα σημεία που ανιχνεύτηκαν στο πρώτο frame πάνω στο δεύτερο. Εφαρμόζονται οπωσδήποτε κατάλληλα φίλτρα για το φιλτράρισμα ορισμένων ακραίων σημείων ( outliers ) και στη συνέχεια υπολογίζεται η οπτική ροή, η μετατόπιση δηλαδή των σημείων από το ένα frame στο άλλο. Τέλος, εφαρμόζεται η στρατηγική αποφυγής για το ρομποτικό όχημα και ο κύκλος ξαναρχίζει με την ανάκτηση ενός νέου frame. Σχήμα 6.1 : Βασικά βήματα και ενέργειες του αλγορίθμου 77

78 Ειδικότερα, η μέθοδος αποφυγής συγκρούσεων βασίζεται στο χωρισμό της οθόνης ( monitor ) της κάμερας σε κομμάτια χώρους ενδιαφέροντος. Αυτή η διαδικασία γίνεται σε κάθε βήμα μετά την εξαγωγή των σημείων ενδιαφέροντος. Η ανάλυση της κάμερας, δηλαδή το μέγεθος των εικόνων που λαμβάνονται είναι 640Χ480 ( πλάτος Χ ύψος ). Με βάση αυτό γίνεται η ταξινόμηση των σημείων που ανιχνεύονται σε κατηγορίες. Για παράδειγμα, κάποια σημεία ενδιαφέροντος που βρίσκονται κάτω από τα 2/7 του ύψους ανεξαρτήτως που βρίσκονται στο πλάτος ταξινομούνται ως SKY ( ουρανός ), ενώ αυτά που βρίσκονται ανάμεσα στα 2/7 και 5/7 του ύψους και στα 2/7 και 5/7 του πλάτους ταξινομούνται ως Center of collision και αποτελούν τον ουσιαστικό κίνδυνο του ρομποτικού οχήματος για σύγκρουση. Είναι αξιοσημείωτο ότι η αρχή μέτρησης μιας εικόνας γίνεται από την αρχή των αξόνων που βρίσκεται πάνω αριστερά και μεγαλώνει στη φορά που δείχνουν τα βέλη στο παρακάτω αναλυτικό σχήμα : Σχήμα 6.2 : Ο διαχωρισμός της οθόνης της κάμερας σε τμήματα και η ταξινόμηση των χαρακτηριστικών σε αυτά Αφού γίνει ο χωρισμός των σημείων σε κάποιες ομάδες, ο αλγόριθμος κάνει την εξής σύγκριση για να λάβει απόφαση : Παρατηρήθηκε μεγαλύτερη κίνηση των σημείων που βρίσκονται στο κέντρο προς τα αριστερά ή προς τα δεξιά ; Εάν τα σημεία αυτά σε επόμενα frames μετακινήθηκαν προς τα δεξιά, αυτό σημαίνει ότι το εμπόδιο βρίσκεται στα δεξιά και το όχημα πρέπει να στρίψει αριστερά. Διαφορετικά, το εμπόδιο είναι στα αριστερά και πρέπει να στρίψει δεξιά. 78

79 Η παραπάνω απλή λογική είναι η βάση για την αποφυγή των εμποδίων στην παρούσα διπλωματική όπως πρωτοδιατυπώθηκε στην προαναφερεθείσα δημοσίευση. 6.2 Παράθεση κώδικα και επεξήγηση Πλέον είναι αναγκαία η παράθεση ορισμένων καίριων σημείων του κώδικα για να αποσαφηνιστεί πλήρως η λογική του αλγορίθμου αποφυγής σύγκρουσης με εμπόδια. Ο κώδικας είναι γραμμένος σε c / c++ και στο τέλος της εργασίας στο παράρτημα υπάρχει συγκεντρωμένος όλος ο κώδικας της διπλωματικής. Αρχικά, γίνεται προγραμματισμός των θυρών του ολοκληρωμένου A20 για τη χρήση τους ως εξόδους και τους δίνονται κατάλληλες τιμές ( 0 ή 1 ). Για να γίνει αυτό γρήγορα αρχικοποιούμε μερικές συναρτήσεις που απλώς γράφουν τιμές 0 ή 1 στις εξόδους αυτές με την εντολή fprintf.ακολουθεί το κομμάτι με τα σχόλια και την περιγραφή των πλήρων ονομάτων των συναρτήσεων και στη συνέχεια οι συναρτήσεις αυτές : /* DEFINITIONS FLEN FILE LEFT ENABLE FREN FILE RIGHT ENABLE FLC FILE LEFT C FRC FILE RIGHT C FLD FILE LEFT D FRD FILE RIGHT D LEH LEFT ENABLE HIGH LEL LEFT ENABLE LOW LCH LEFT C HIGH LCL LEFT C LOW LDH LEFT D HIGH LDL LEFT D LOW REH RIGHT ENABLE HIGH REL RIGHT ENABLE LOW RCH RIGHT C HIGH RCL RIGHT C LOW RDH RIGHT D HIGH RDL RIGHT D LOW */ 79

80 FILE *FLEN,*FREN,*FLC,*FRC,*FLD,*FRD; FILE *DIR_FLEN,*DIR_FREN,*DIR_FLC,*DIR_FRC,*DIR_FLD,*DIR_FRD; //LEFT WHEEL #define LEH() fprintf(flen,"1"); fflush(flen); #define LEL() fprintf(flen,"0"); fflush(flen); #define LCH() fprintf(flc,"1"); fflush(flc); #define LCL() fprintf(flc,"0"); fflush(flc); #define LDH() fprintf(fld,"1"); fflush(fld); #define LDL() fprintf(fld,"0"); fflush(fld); //RIGHT WHEEL #define REH() fprintf(fren,"1") ; fflush(fren); #define REL() fprintf(fren,"0"); fflush(fren); #define RCH() fprintf(frc,"1") ; fflush(frc); #define RCL() fprintf(frc,"0") ; fflush(frc); #define RDH() fprintf(frd,"1") ; fflush(frd); #define RDL() fprintf(frd,"0") ; fflush(frd); Πίνακες 6.1, 6.2 Ορισμός των συναρτήσεων που δίνουν τιμή στα ψηφιακά σήματα Και στη συνέχεια αρχικοποιούμε τις θύρες που επιλέξαμε λόγω της χωροταξικής του θέσης ως εξόδους και παίρνουμε το δικαίωμα εγγραφής σε αυτές, συγκεκριμένα στις gpio2_pg1, gpio3_pg2, gpio4_pg3, gpio48_pi0, gpio49_pi1, gpio50_pi2 : system("echo 2 > /sys/class/gpio/export"); DIR_FLEN=fopen("/sys/class/gpio/gpio2_pg1/direction","w+); fprintf(dir_flen,"out"); fflush(stdout); FLEN=fopen("/sys/class/gpio/gpio2_pg1/value","w+"); system("echo 48 > /sys/class/gpio/export"); DIR_FREN=fopen("/sys/class/gpio/gpio48_pi0/direction","w+" ); fprintf(dir_fren,"out"); fflush(stdout); FREN=fopen("/sys/class/gpio/gpio48_pi0/value","w+"); system("echo 3 > /sys/class/gpio/export"); DIR_FLC=fopen("/sys/class/gpio/gpio3_pg2/direction","w+"); fprintf(dir_flc,"out"); fflush(stdout); FLC=fopen("/sys/class/gpio/gpio3_pg2/value","w+"); 80

81 system("echo 49 > /sys/class/gpio/export"); DIR_FRC=fopen("/sys/class/gpio/gpio49_pi1/direction","w+"); fprintf(dir_frc,"out"); fflush(stdout); FRC=fopen("/sys/class/gpio/gpio49_pi1/value","w+"); system("echo 4 > /sys/class/gpio/export"); DIR_FLD=fopen("/sys/class/gpio/gpio4_pg3/direction","w+"); fprintf(dir_fld,"out"); fflush(stdout); FLD=fopen("/sys/class/gpio/gpio4_pg3/value","w+"); system("echo 50> /sys/class/gpio/export"); DIR_FRD=fopen("/sys/class/gpio/gpio50_pi2/direction","w+"); fprintf(dir_frd,"out"); fflush(stdout); FRD=fopen("/sys/class/gpio/gpio50_pi2/value","w+"); Πίνακες 6.3, 6.4 Αρχικοποίηση των ακίδων προς εγγραφή Για την κίνηση προς εμπρός, πίσω, δεξιά και αριστερά υλοποιήθηκαν οι συναρτήσεις MOVE_FORW(),ΜOVE_BCKW(),MOVE_LEFT(),MOVE_RIGHT() αντίστοιχα. Οι συναρτήσεις αυτές θέτουν λογικό 0 ή λογικό 1 κάποιες ακίδες με σκοπό να ακολουθούν τον πίνακα αληθείας που παρουσιάστηκε στο προηγούμενο κεφάλαιο ( Σχήμα... ). Είναι σημαντικό να τονιστεί ότι ο κινητήρας και οι ρόδες ήταν στερεωμένα έτσι ώστε ο συνδυασμός Ven=H, C=H, D=L να δίνει κίνηση προς τα πίσω κ όχι προς τα μπροστά. Για το λόγο αυτό η κίνηση γενικά προς τα μπροστά επιλέχθηκε να γίνεται με το συνδυασμό : Ven=H,C=L,D=H και έτσι αποφεύγονται πιθανές παρεξηγήσεις για τις συναρτήσεις που ακολουθούν : void MOVE_BCKW(){ LEH(); LCH(); LDL(); REH(); RCL(); RDH(); } void MOVE_FORW(){ LEH(); LCL(); LDH(); REH(); RCH(); RDL(); } 81

82 Πίνακας 6.5 : Οι συναρτήσεις MOVE_BCKW(), MOVE_FORW() void MOVE_RIGHT(){ LEH(); LCL(); LDH(); REL(); RCL(); RDL(); } void MOVE_LEFT(){ LEL(); LCL(); LDL(); REH(); RCH(); RDL(); } Πίνακας 6.6 Οι συναρτήσεις MOVE_RIGHT(), MOVE_LEFT() Ακόμη χρησιμοποιείται η συνάρτηση INIT(), η οποία αρχικοποιεί τις τιμές των κινητήρων έτσι ώστε να ακινητοποιούνται οι δύο ρόδες και κατά συνέπεια το όχημα. Χρησιμοποιείται για μικρές παύσεις κατά τη λήψη αποφάσεων σε τακτά χρονικά διαστήματα και παγώνει το όχημα για όσα msec επιλεχθούν ως όρισμα στην εντολή delay. Εμείς επιλέξαμε 1000 msec, δηλαδή 1 sec αναμονή για τη λήψη της απόφασης : void INIT(){ LEL(); LCL(); LDL(); REL(); RCL(); RDL(); delay(1000); } Πίνακας 6.7 Η συναρτήση INIT() 82

83 Συνεχίζουμε με τις συναρτήσεις μηχανικής όρασης και ψηφιακής επεξεργασίας εικόνας. Για capture μέσω κάμερας γίνεται χρήση της κλάσης VideoCapture: VideoCapture input_video(0); Στη συνέχεια, λαμβάνεται το πρώτο frame, εξάγονται χαρακτηριστικά στο frame αυτό και λαμβάνεται δεύτερο frame. bool bsuccess = input_video.read(oldframe); // read a new frame from video if (!bsuccess) //if not success, break loop { cout << "Cannot read the frame from video file" << endl; } cvtcolor(oldframe, oldgray, CV_BGR2GRAY); /* Get the second frame of video*/ input_video>>frame; // read a new frame from video cvtcolor(frame, frame_gray, CV_BGR2GRAY); /* Shi and Tomasi Feature Tracking! */ goodfeaturestotrack(oldgray, frame1_features, number_of_features,qualitylevel, mindistance, noarray(), blocksize); Πίνακας 6.8 Λήψη 1 ου και 2 ου frame και εξαγωγή χαρακτηριστικών Η παραπάνω μέθοδος εξαγωγής χαρακτηριστικών είναι αυτή των Shi-Tomasi και αποτελείται από την εντολή goodfeaturestotrack. Αυτή δέχεται ως ορίσματα το frame στο οποίο θα εξαχθούν τα χαρακτηριστικά (oldgray), τον πίνακα που θα βγει ως έξοδος με τις θέσεις των χαρακτηριστικών σημείων στην εικόνα (frame1_features), τον επιθυμητό αριθμό στοιχείων προς εξαγωγή ( number_of_features ), το συντελεστή qualitylevel που καθορίζει την ελάχιστη ποιότητα των χαρακτηριστικών που θα εγκριθούν, την ελάχιστη Ευκλείδια απόσταση ανάμεσα στις γωνίες που θα εξαχθούν ( mindistance ) και ένα μέγεθος blocksize για υπολογισμό του πίνακα μεταβολής των παραγώγων στον υπολογισμό των ιδιοτιμών (cornereigenvalsandvecs). 83

84 Εφόσον έχουν ανιχνευτεί χαρακτηριστικά στο πρώτο frame,ψάχνουμε τα χαρακτηριστικά αυτά στο δεύτερο frame μέσω της συνάρτησης calcopticalflowpyrlk : if (!frame1_features.empty()) { calcopticalflowpyrlk(oldgray,frame_gray,frame1_features,frame2_features,status, err,winsize,maxlevel,termcriteria(termcriteria::count + TermCriteria::EPS,10,0.03)); Πίνακας 6.9 Ο υπολογισμός της οπτικής ροής με τη μέθοδο Lucas-Kanade Η συνάρτηση αυτή υπολογίζει την αραιή οπτική ροή ( sparse optical flow ) ανάμεσα σε δύο διαδοχικά frames, δηλαδή όχι για όλα τα σημεία της εικόνας αλλά για ορισμένα σημεία ενδιαφέροντος. Pyramidal Lucas-Kanade Η μέθοδος της πυραμίδας λειτουργεί ως εξής : Ο αλγόριθμος πρώτα δειγματοληπτεί και τις δύο εικόνες σε διαφορετικά επίπεδα, όπου το κάθε επίπεδο είναι μισής ανάλυσης από το προηγούμενο. Από το τρίτο και το υψηλότερο επίπεδο και από τις δύο εικόνες εξάγεται ένα διάνυσμα που περιγράφει την αλλαγή μεταξύ της πρώτης και της δεύτερης εικόνας. Εφόσον η ανάλυση της εικόνα είναι μικρή, οι υπολογισμοί είναι ταχύτατοι αλλά και το αποτέλεσμα του διανύσματος δεν είναι απόλυτα ακριβές. Παρόλα αυτά, το διάνυσμα αυτό χρησιμοποιείται για μια αρχική εκτίμηση στο επίπεδο ακριβώς από κάτω, το οποίο έχει μεγαλύτερη ανάλυση. Συνεχίζοντας τη διαδικασία αυτή στην αυθεντική εικόνα, το νέο διάνυσμα με αρκετή ακρίβεια πλέον, περιγράφει την αλλαγή στη δεύτερη εικόνα.αυτή η προαναφερθείσα μέθοδος περιγράφεται ως μέθοδος πυραμίδας. Η συνάρτηση calcopticalflowpyrlk δέχεται ως ορίσματα τις δύο διαδοχικές εικόνες / frames ( oldgray και frame_gray ) και τις θέσεις των σημείων ενδιαφέροντος στην πρώτη εικόνα ( frame1_features ) των οποίων σημείων θα υπολογιστεί η οπτική ροή. Ακόμη, δέχεται το μέγεθος του παραθύρου προς αναζήτηση σε κάθε επίπεδο της πυραμίδας ( winsize ), την τιμή maxlevel που καθορίζει πόσες πυραμίδες θα χρησιμοποιηθούν στον υπολογισμό της οπτικής ροής καθώς και τα κριτήρια τερματισμού( TermCriteria ). Ως εξόδους λαμβάνουμε το διάνυσμα με τις θέσεις των σημείων ενδιαφέροντος στη δεύτερη εικόνα (frame2_features), το διάνυσμα status που κάθε στοιχείο του είναι 1 αν παρατηρείται μεταβολή της 84

85 ροής στο αντίστοιχο σημείο ενδιαφέροντος ή 0 αν δεν παρατηρηθεί μεταβολή της ροής, και τέλος το διάνυσμα σφάλματος err. Τις παραμέτρους αυτές για τον υπολογισμό της οπτικής ροής με τη μέθοδο Lucas Kanade τις επιλέγουμε ως εξής : //Params for lucas kanade optical flow Size winsize = Size(5, 5); int maxlevel = 2; vector<uchar> status; Πίνακας 6.10 Παράμετροι για τη μέθοδο Lucas-Kanade Θέτουμε, ακόμη τον επιθυμητό αριθμό σημείων προς εξαγωγή με τη μέθοδο Shi and Tomasi ίσο με 50. #define NUM_FEATURES_TO_TRACK 50 Η επιλογή αυτή έγινε μετά από δοκιμές και αποτελεί καλό αριθμό σημείων για τη δεδομένη ανάλυση ( 640Χ480 ). Στη συνέχεια γίνεται ο υπολογισμός των διανυσμάτων της οπτικής ροής. Ωστόσο είναι απαραίτητη η χρήση κατάλληλων φίλτρων κατά τον υπολογισμό και πριν το σχεδιασμό των διανυσμάτων ώστε να υπάρχει μερική ισορροπία στον υπολογισμό της ροής και να αφαιρεθούν στοιχεία σφαλμάτων και στοιχεία που καθυστερούν τον αλγόριθμο. Έγιναν λοιπόν οι εξής διορθώσεις φιλτραρίσματα : 85

86 Φιλτράρισμα υπερμεγέθους υποτείνουσας αρχικά, ώστε να εντοπιστούν τα πιο ασταθή σημεία που παράγουν μεγάλη υποτείνουσα Εκτίμηση της μέσης οπτικής ροής και φιλτράρισμα των στοιχείων με βάση την εκτίμηση αυτή και απαίτηση να επιλεγούν μόνο στοιχεία που προσεγγίζουν τη μέση τιμή της υποτείνουσας. Η χρήση αυτού του φίλτρου βοήθησε στη γενικότερη προσέγγιση που έγινε για την εκτίμηση του time to collision και σε μία σχετική σταθεροποίηση της εικόνας. Τέλος, λαμβάνουμε υπόψιν μόνο τα αντικείμενα που βρίσκονται μόνο στο κέντρο της εικόνας μετά τον χωρισμό της εικόνας σε περιοχές όπως προαναφέρθηκε. Με τις παραπάνω διορθώσεις βελτιώθηκε η ποιότητα των αποτελεσμάτων. Παρατίθεται κομμάτι του κώδικα : //Filter enormous hypotenuse for (int i = 0; i < number_of_features; i++) { p.x = (int) frame1_features[i].x; p.y = (int) frame1_features[i].y; q.x = (int) frame2_features[i].x; q.y = (int) frame2_features[i].y; double hypotenuse; hypotenuse = sqrt(square(p.y - q.y) + square(p.x-q.x)); if (hypotenuse < MAX_POSSIBLE_HYPOTENUSE_LENGTH){ //draw unstable features with yellow circle(frame,frame1_features[i],2,cv_rgb(255, 255, 0),-1, 8, 0); frame1_features[tmpcount].x=frame1_features[i].x; frame1_features[tmpcount].y = frame1_features[i].y; frame2_features[tmpcount].x = frame2_features[i].x; frame2_features[tmpcount].y = frame2_features[i].y; tmpcount++;} } number_of_features = tmpcount; Πίνακας 6.11 Φιλτράρισμα μέγιστης υποτείνουσας 86

87 //Estimate mean flow for (int i = 0; i < number_of_features; i++) { p.x = (int) frame1_features[i].x; p.y = (int) frame1_features[i].y; q.x = (int) frame2_features[i].x; q.y = (int) frame2_features[i].y; double hypotenuse; hypotenuse = sqrt(square(p.y - q.y) + square(p.x - q.x)); countflow++; sumflow += hypotenuse; } meanflow = sumflow / countflow; Πίνακας 6.12 Υπολογισμός μέσης οπτικής ροής //Filter features using mean flow tmpcount = 0; for (int i = 0; i < number_of_features; i++) //look through all features if number of features>0{ p.x = (int) frame1_features[i].x; p.y = (int) frame1_features[i].y; q.x = (int) frame2_features[i].x; q.y = (int) frame2_features[i].y; double hypotenuse; hypotenuse = sqrt(square(p.y-q.y)+square(p.x-q.x)); if ((hypotenuse / meanflow) < MEAN_FLOW_THRESHOLD) //pass features with mean hypotenuse { frame1_features[tmpcount].x=frame1_features[i].x; frame1_features[tmpcount].y = frame1_features[i].y; frame2_features[tmpcount].x = frame2_features[i].x; frame2_features[tmpcount].y = frame2_features[i].y; tmpcount++; } } number_of_features = tmpcount; tmpcount = 0; Πίνακας 6.13 : Φιλτράρισμα με χρήση της μέσης οπτικής ροής 87

88 Ακολουθεί ο χωρισμός της οθόνης σε τμήματα με τον τρόπο ακριβώς που προαναφέρθηκε : //count flow in screen zones for (int i = 0; i < number_of_features; i++) //look through all features if number of features > 0 { p.x = (int) frame1_features[i].x; p.y = (int) frame1_features[i].y; q.x = (int) frame2_features[i].x; q.y = (int) frame2_features[i].y; if (p.y < (imsize.height * 2 / 7)) // top part of the screen to estimate for rotation { skycount++; sumskycount.x += (p.x - q.x); sumskycount.y += (p.y - q.y); } if ((p.y > (imsize.height * 2 / 7)) && (p.x < (imsize.width / 2))) //for left-part of the screen { leftgroundcount++; sumleftgroundcount.x += (p.x - q.x); sumleftgroundcount.y += (p.y - q.y); } if ((p.y > (imsize.height * 2 / 7)) && (p.x > (imsize.width / 2))) //for right-part of the screen { rightgroundcount++; sumrightgroundcount.x += (p.x - q.x); sumrightgroundcount.y += (p.y - q.y); } //for central square time to collision if ((p.y > (imsize.height * 2 / 7)) && (p.x > (imsize.width * 2 / 7)) && (p.y < (imsize.height * 5 / 7)) && (p.x < (imsize.width * 5 / 7))) { collisioncount++; // Calc inverse collision time sumcollisiontime += (p.y - q.y); } } //end of looking through all features 88

89 Πίνακας 6.14 Χωρισμός της οθόνης σε τμήματα για λήψη απόφασης 6.3 Στρατηγική αποφυγής εμποδίων Η συνιστώσα της οπτικής ροής που απαιτείται για την αποφυγή εμποδίων παράγεται από τη μεταφορική κίνηση του ρομποτικού οχήματος προς τα εμπρός. Σε αυτήν την περίπτωση, η οριζόντια συνιστώσα της ταχύτητας ενός αντικειμένου είναι ανάλογη προς το αντίστροφο της απόστασης από το ρομπότ. Σχήμα 6.3 : Το κινούμενο ρομπότ στο σημείο Ο αντιλαμβάνεται το αντικείμενο P(t) με σχετική γωνία β. d είναι η απόσταση μεταξύ του ρομπότ και του αντικειμένου. είναι η ταχύτητα του ρομπότ Από το σχήμα 6.13 μπορεί να εξαχθεί η σχέση, η οποία μετά από παραγώγιση δίνει. Αντικαθιστώντας το με το, το με το και το Ζ με το, προκύπτει ότι η ταχύτητα του εικονοστοιχείου ( pixel ) δίνεται από τη σχέση : ( 6.1 ) Από αυτή την εξίσωση μπορούμε να συμπεράνουμε ότι μια στρατηγική που εξισώνει τις ταχύτητες των pixels θα τείνει να κρατάει σταθερές τις αποστάσεις από τα εμπόδια στις δύο πλευρές του ρομπότ. Αυτή η στρατηγική ονομάζεται στρατηγική εξισορρόπησης ( balance strategy ). Για να είναι αποτελεσματική, η στρατηγική αυτή πρέπει να βασίζεται στην οπτική ροή που παράγεται από 89

90 μεταφορικές κινήσεις προς τα εμπρός μόνο. Μία στρατηγική ελέγχου που εξισορροπέι την οπτική ροή στις δύο πλευρές του ρομπότ είναι η εξής : ( 6.2 ) Όπου και αντιπροσωπεύουν τις μέσες τιμές των οριζόντιων κινήσεων των pixels στις αριστερές και δεξιές πλευρές, k είναι ένας συντελεστής αναλογίας. Άρα, το σήμα BearingToSteer είναι το ποσοστό περιστροφής κατά το οποίο πρέπει να στρίψει το ρομπότ για να αποφύγει εμπόδια. 6.4 Βελτίωση της στρατηγικής Τώρα, κατά την εφαρμογή του αλγορίθμου σε αυτοκινούμενο όχημα θα υπάρχουν σίγουρα ταλαντώσεις στην κάμερα που θα δημιουργήσουν πρόβλημα στην επεξεργασία της εικόνας λόγω αποσταθεροποίησης της. Αυτό το πρόβλημα αντιμετωπίζεται μερικώς με τα φίλτρα που εφαρμόστηκαν ως τώρα. Κρίνεται συνεπώς απαραίτητη η εισαγωγή επιπλέον φίλτρου που θα αντιμετωπίζει το πρόβλημα αυτό. Επομένως θα εφαρμοστεί φίλτρο που διορθώνει τα σημεία και τις συντεταγμένες τους τόσο λόγω περιστροφικής κίνησης όσο και λόγω μεταφορικής. Η λογική των παραπάνω φίλτρων βασίζεται στη διπλωματική εργασία του Μ.Usov που προτείνει βελτίωση της ήδη υπάρχουσας στρατηγικής. Συγκεκριμένα, υποστηρίζει ότι η στρατηγική αποφυγής εμποδίων βασίζεται στην παραδοχή ότι η οπτική ροή παράγεται από την μεταφορική κίνηση του ρομποτικού οχήματος προς τα μπροστά, επομένως η στρατηγική αυτή υποννοεί ότι το ρομπότ πρέπει να κινείται αυστηρά πάνω σε μια ευθεία γραμμή. Ωστόσο, το όχημα δεν έχει ελεγκτές ταχύτητας στους κινητήρες του. Συνεπώς, λόγω μηχανικών ατελειών το όχημα ολισθαίνει αντί να κινείται συνεχώς προς τα εμπρός. Αυτή η ολίσθηση μπορεί να εξισορροπηθεί με την εφαρμογή μιας στρατηγικής ελέγχου όπως η ακόλουθη. Σε περίπτωση που η κάμερα του ρομπότ είναι ευθυγραμμισμένη οριζοντίως, μπορεί να υποθεθεί ότι τα χαρακτηριστικά (features) που βρίσκονται στο πάνω μέρος της εικόνας ανήκουν σε στατικά αντικείμενα. Συνεπώς, αυτά τα στατικά σημεία μπορούν να χρησιμοποιηθούν για να εκτιμηθεί η περιστροφή του ρομποτικού οχήματος. Αυτή η εκτιμώμενη περιστροφή μπορεί να προστεθεί στο πραγματικό σήμα που περιγράφεται με την εξίσωση 6.2. Με την εφαρμογή ενός τέτοιου τεχνάσματος μπορούμε να είμαστε βέβαιοι ότι το ρομπότ θα ακολουθήσει μια ευθεία γραμμη. Ο βελτιωμένος νόμος ελέγχου μπορεί να παρουσιαστεί ως εξής : 90

91 ( 6.3 ) Όπου ο όρος Rotation είναι η εκτίμηση της περιστροφής και υπολογίζεται ως η μέση τιμή της οπτικής ροής των σημείων που ανήκουν στο πάνω μέρος της οθόνης. Η εφαρμογή της παραπάνω στρατηγικής παρουσιάζεται αναλυτικά στο παράρτημα με τον κώδικα. Έχοντας εφαρμόσει όλα τα φίλτρα και χρησιμοποιώντας το βελτιωμένο νόμο ελέγχου, εφαρμόζουμε τη βασική λογική που εκτελείται από το ρομποτικό όχημα. Δηλαδή, το όχημα ξεκινάει την κίνηση του προς τα μπροστά θέτοντας ένα flag f=0, μετά από 5 frames σταματάει (f=1 σηκώνεται το flag), περιμένει, δηλαδή καλείται η INIT() συνάρτηση και αποφασίζει να κινηθεί προς τα αριστερά ή προς τα δεξιά, ανάλογα το που ανίχνευσε εμπόδιο. Αυτή παραμένει η κυρίαρχη λογική στο ρομποτικό όχημα με αρκετά καλά αποτελέσματα. Στη συνέχεια το flag γίνεται reset ( f=0 ) και η διαδικασία συνεχίζεται από την αρχή. Γίνονται ακόμη κάποιοι έλεγχοι για την εξασφάλιση της σωστής λειτουργίας του αλγορίθμου. Για παράδειγμα, αν δεν έχουν υπολογιστεί επαρκή σημεία που να ανήκουν στις κατηρογίες SKY, RIGHT, LEFT, σηκώνεται η σημαία need_to_init και ξαναγίνεται ο έλεγχος για σημεία από την αρχή. 91

92 7. Πειραματικά αποτελέσματα και αξιολόγηση Θα γίνει στο κεφάλαιο αυτό αναφορά στις υποθέσεις και τις συνθηκες κάτω από τις οποίες έγινε η προσωμοίωση, τα αποτελέσματα της και τα προβλήματα που εμφανίστηκαν κατά τη διάρκεια της καθώς και θα αξιολογηθεί η συνολική προσπάθεια και το αποτέλεσμα. 7.1 Υποθέσεις και συνθήκες περιβάλλοντος Στην εργασία αυτή για λόγους οικονομίας κόστους και υπολογιστικού φόρτου έγιναν κάποιες επιλογές στο υλικό(hardware), όσο και στο λογισμικό(software). Οι κυριότερες από αυτές είναι : Επιλογή ενός μόνο αισθητήρα- κάμερας ( pinhole camera) Ανάπτυξη αλγορίθμου που βασίζεται αποκλειστικά σε μεθόδους όρασης και συγκεκριμένα οπτικής ροής αραιού συνόλου στοιχείων Σίγουρα ο υπολογισμός της οπτικής ροής και γενικά η ποιότητα των λήψεων της κάμερας εξαρτώνται σε μεγάλο βαθμό από τις συνθήκες φωτισμού. Για το λόγο αυτό οι συνθήκες κάτω από τις οποίες έγιναν οι δοκιμές είναι οι εξής : Συνθήκες φωτισμού : Τα πειράματα έγιναν υπό συνθήκες λευκού φωτός ικανοποιητικής αλλά όχι υπερβολικής έντασης και υπό το φως της ημέρας. Περιβάλλων χώρος : Ο χώρος που περιέβαλλε το ρομποτικό όχημα ήταν καθαρός από περιττά στοιχεία και περιείχε τοποθετημένα στατικά εμπόδια σε συγκεκριμένες θέσεις. Η αποφυγή περιττών στοιχείων και κινούμενων αντικειμένων δεν έβαλε περαιτέρω θόρυβο στον αλγόριθμο. FOE : Το focus of expansion θεωρήθηκε ως το κέντρο της κάμερας αν και δεν ισχύει πάντα σε πρακτικές εφαρμογές η παραδοχή αυτή. 92

93 Εμπόδια : Ως στατικά εμπόδια θεωρήθηκαν αντικείμενα που βρίσκονται μέσα σε ένα σπίτι με διαστάσεις και σχήμα ικανοποιητικά για το ρομποτικό όχημα ώστε να τα αποφύγει με ευκολία. Κυρίως το εμπόδιο στο χώρο ήταν ένα, αλλά πραγματοποιήθηκαν πειράματα με παραπάνω του ενός εμπόδια. Για τη βέλτιστη επιλογή παραμέτρων των συναρτήσεων για τα βέλτιστα αποτελέσματα χρειάστηκε μεγάλος αριθμός δοκιμών. Μερικά από τα σημαντικότερα προβλήματα που προέκυψαν είναι : Η ανάγκη φιλτραρίσματος των ασταθών υποτεινουσών και οπτικών ροών και η επιλογή των τιμών 300 για μέγιστη υποτείνουσα και 120 για μέγιστο λόγο υποτείνουσας προς μέση οπτική ροή, αποτελέσματα που προέκυψαν μετά από αρκετές δοκιμές και αποτυχημένες απόπειρες. Η χρήση σωστών σημαιών ( flags ) για το σωστό έλεγχο συνθηκών σε όλη τη διάρκεια του κώδικα Η ανάγκη για καλή και γρήγορη επεξεργασία των δεδομένων σε συνδυασμό με τις περιορισμένες δυνατότητες επεξεργασίας του μικρουπολογιστικού συστήματος Η επιλογή του επιθυμητού αριθμού σημείων προς εξαγωγή έγινε μετά από αρκετές δοκιμές σχετικά με τις υπολογιστικές ικανότητες του μικροϋπολογιστικού συστήματος αλλά και τον υπολογιστικό φόρτο που απαιτείται και φυσικά όσον αφορά τα καλύτερα αποτελέσματα. Τελικά επιλέχθηκε ο αριθμός των επιθυμητών στοιχείων προς εξαγωγή σε κάθε frame να είναι Η προσομοίωση Κατά την προσομοίωση τα πειράματα εκτελέστηκαν σε χώρο κλειστό με εμπόδια τοποθετημένα σε συγκεκριμένες θέσεις όπως αναφέρθηκε. Ακολουθούν μερικά αποτελέσματα : Αποφυγή ενός εμποδίου : Ο στόχος της προσομοίωσης αυτής ήταν να γίνει η αποφυγή του εμποδίου με οποιοδήποτε τρόπο, δηλαδή είτε από δεξιά είτε από αριστερά. Η τροχιά που ακολουθεί το ρομποτικό όχημα έχει να κάνει με τη μεταβολή της οπτικής ροής που βλέπει κάθε φορά όπως ήδη έχει αναλυθεί. 93

94 Ακολουθούν δύο χαρακτηριστικά παραδείγματα όπου φαίνονται οι τροχιές του ρομπότ και ο τρόπος αποφυγής των αντικειμένων : Παράδειγμα 1 ο : Σχήμα 7.1 : Αποφυγή ενός εμποδίου ( Παράδειγμα 1 ο ) Σχήμα 7.2 : Αναλυτικά η τροχιά που ακολούθησε το ρομποτικό όχημα για την αποφυγή ενός εμποδίου 94

95 Παράδειγμα 2 ο : Σχήμα 7.3 : Αποφυγή ενός εμποδίου (Παράδειγμα 2 ο ) Σχήμα 7.4 : Αναλυτικά η τροχιά που ακολούθησε το ρομποτικό όχημα για την αποφυγή ενός εμποδίου 95

96 Αποφυγή δύο εμποδίων : Στην παρακάτω προσομοίωση ο στόχος ήταν το ρομποτικό όχημα να αποφύγει και τα δύο αντικείμενα με οποιονδήποτε τρόπο είτε από δεξιά είτε από αριστερά. Ακολουθούν σχηματικά τα αποτελέσματα και η τροχιά που ακολουθήθηκε : Σχήμα 7.5 : Αποφυγή δύο εμποδίων 96

97 Σχήμα 7.6 : Αναλυτικά η τροχιά του ρομποτικού οχήματος για αποφυγή δύο εμποδίων Ακολουθούν ορισμένα links από βίντεο που παρουσιάζουν τα παραπάνω αποτελέσματα με προσομοιώσεις αποφυγής εμποδίων, καθώς και απλή πλοήγηση στο χώρο χωρίς συγκρούσεις : Βίντεο 1 : Αποφυγή δύο εμποδίων Βίντεο 2 : Πλοήγηση με αποφυγή εμποδίων 97

ΠΑΝΕΠΙΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΑΝΕΠΙΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ 1 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Κατασκευή εφαρμογής ανίχνευσης κινούμενων αντικειμένων ή αντικειμένων που εναποτέθηκαν με χρήση όρασης

Διαβάστε περισσότερα

ΤΟΜΕΑΣ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ (Τ. & Τ.Π.) Διπλωματική Εργασία

ΤΟΜΕΑΣ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ (Τ. & Τ.Π.) Διπλωματική Εργασία ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ (Τ. & Τ.Π.) Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Εκτίµηση Κίνησης Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ ΟΡΑΣΗ. Όταν ένα ρομπότ κινείται σε άγνωστο χώρο ή σε χώρο που μπορεί να αλλάξει η διάταξή του τότε εμφανίζεται η ανάγκη της όρασης μηχανής.

ΡΟΜΠΟΤΙΚΗ ΟΡΑΣΗ. Όταν ένα ρομπότ κινείται σε άγνωστο χώρο ή σε χώρο που μπορεί να αλλάξει η διάταξή του τότε εμφανίζεται η ανάγκη της όρασης μηχανής. ΡΟΜΠΟΤΙΚΗ ΟΡΑΣΗ Όταν ένα ρομπότ κινείται σε άγνωστο χώρο ή σε χώρο που μπορεί να αλλάξει η διάταξή του τότε εμφανίζεται η ανάγκη της όρασης μηχανής. Αισθητήρες που χρησιμοποιούνται για να αντιλαμβάνεται

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Παρουσίαση Νο. 1. Εισαγωγή

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Παρουσίαση Νο. 1. Εισαγωγή Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ακαδημαϊκό Έτος 2015-16 Παρουσίαση Νο. 1 Εισαγωγή Τι είναι η εικόνα; Οτιδήποτε μπορούμε να δούμε ή να απεικονίσουμε Π.χ. Μια εικόνα τοπίου αλλά και η απεικόνιση

Διαβάστε περισσότερα

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Σύνθεση Πανοράµατος Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή

Διαβάστε περισσότερα

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας Εισηγητής Αναστάσιος Κεσίδης Εισαγωγή Τι είναι η εικόνα; Μια οπτική αναπαράσταση με την μορφή μιας συνάρτησης f(x, y) όπου η

Διαβάστε περισσότερα

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας Εισηγητής Αναστάσιος Κεσίδης Τμηματοποίηση εικόνας Τμηματοποίηση εικόνας Γενικά Διαμερισμός μιας εικόνας σε διακριτές περιοχές

Διαβάστε περισσότερα

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ, ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΕΣ 3: ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΚΑΙ ΑΝΑΛΥΣΗ ΕΙΚΟΝΑΣ Ακαδημαϊκό Έτος 7 8, Χειμερινό Εξάμηνο Καθ.: Νίκος Τσαπατσούλης ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ Το παρόν

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Επεξεργασία Χαρτογραφικής Εικόνας

Επεξεργασία Χαρτογραφικής Εικόνας Επεξεργασία Χαρτογραφικής Εικόνας Διδάσκων: Αναγνωστόπουλος Χρήστος Κώδικες μετρήσεων αντικειμένων σε εικόνα Χρωματικά μοντέλα: Munsell, HSB/HSV, CIE-LAB Κώδικες μετρήσεων αντικειμένων σε εικόνες Η βασική

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 1 η : Εισαγωγή. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 1 η : Εισαγωγή. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 1 η : Εισαγωγή Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Βασικά στοιχεία της ψηφιακής επεξεργασίας και

Διαβάστε περισσότερα

Οπτική Μοντελοποίηση Ανθρώπινου Προσώπου με Εφαρμογές σε Αναγνώριση

Οπτική Μοντελοποίηση Ανθρώπινου Προσώπου με Εφαρμογές σε Αναγνώριση Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Σημάτων Ελέγχου και Ρομποτικής Οπτική Μοντελοποίηση Ανθρώπινου Προσώπου με Εφαρμογές σε Αναγνώριση Επιβλέπων: καθ. Πέτρος Μαραγκός Ορισμός

Διαβάστε περισσότερα

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση Χειμερινό Εξάμηνο 2013-2014 Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση 5 η Παρουσίαση : Ψηφιακή Επεξεργασία Εικόνας Διδάσκων: Γιάννης Ντόκας Σύνθεση Χρωμάτων Αφαιρετική Παραγωγή Χρώματος Χρωματικά

Διαβάστε περισσότερα

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας Ενότητα 3: Υλοποίηση Ψηφιοποίησης, Τρισδιάσταση Ψηφιοποίηση, Ψηφιοποίηση ήχου και video Το περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

RobotArmy Περίληψη έργου

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

Διαβάστε περισσότερα

Σχεδιασμός και κατασκευή εφαρμογής ταξινόμησης αντικειμένων σε γραμμή μεταφοράς προϊόντων με χρήση όρασης μηχανής

Σχεδιασμός και κατασκευή εφαρμογής ταξινόμησης αντικειμένων σε γραμμή μεταφοράς προϊόντων με χρήση όρασης μηχανής Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Σχεδιασμός και κατασκευή εφαρμογής ταξινόμησης αντικειμένων σε γραμμή μεταφοράς προϊόντων με χρήση όρασης μηχανής Λοΐζου

Διαβάστε περισσότερα

DIP_01 Εισαγωγή στην ψηφιακή εικόνα. ΤΕΙ Κρήτης

DIP_01 Εισαγωγή στην ψηφιακή εικόνα. ΤΕΙ Κρήτης DIP_01 Εισαγωγή στην ψηφιακή εικόνα ΤΕΙ Κρήτης Πληροφορίες Μαθήματος ιαλέξεις Πέμπτη 12:15 15:00 Αιθουσα Γ7 ιδάσκων:. Κοσμόπουλος Γραφείο: Κ23-0-15 (ισόγειο( κλειστού γυμναστηρίου) Ωρες γραφείου Τε 16:00

Διαβάστε περισσότερα

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ 1 ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ Σε αυτό το μέρος της πτυχιακής θα ασχοληθούμε λεπτομερώς με το φίλτρο kalman και θα δούμε μια καινούρια έκδοση του φίλτρου πάνω στην εφαρμογή της γραμμικής εκτίμησης διακριτού

Διαβάστε περισσότερα

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη;

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; ΚΕΦΑΛΑΙΟ 2 ο ΚΙΝΗΣΗ 2.1 Περιγραφή της Κίνησης 1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; Κινηματική είναι ο κλάδος της Φυσικής που έχει ως αντικείμενο τη μελέτη της κίνησης. Στην Κινηματική

Διαβάστε περισσότερα

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας Εισηγητής Αναστάσιος Κεσίδης Ακμές και περιγράμματα Ακμές και περιγράμματα Γενικά Μεγάλο τμήμα της πληροφορίας που γίνεται αντιληπτή

Διαβάστε περισσότερα

Προηγµένη ιασύνδεση µε τοπεριβάλλον

Προηγµένη ιασύνδεση µε τοπεριβάλλον Προηγµένη ιασύνδεση µε τοπεριβάλλον! Επεξεργασία φυσικής γλώσσας # Κατανόηση φυσικής γλώσσας # Παραγωγή φυσικής γλώσσας! Τεχνητή όραση! Ροµποτική Κατανόηση Φυσικής Γλώσσας! Αναγνώριση οµιλίας (Speech recognition)!

Διαβάστε περισσότερα

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ 2.1 Περιγραφή της Κίνησης 1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; Κινηματική είναι ο κλάδος της Φυσικής που έχει ως αντικείμενο τη μελέτη της κίνησης.

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

MPEG-4 : Διαδραστικές εφαρμογές πολυμέσων

MPEG-4 : Διαδραστικές εφαρμογές πολυμέσων MPEG-4 : Διαδραστικές εφαρμογές πολυμέσων Συμπίεση οπτικοακουστικών δεδομένων για το Διαδίκτυο Οπτικοί δίσκοι Ψηφιακή τηλεόραση (επίγεια, δορυφορική) Συμβατότητα με MPEG-1 και MPEG-2 Συνθετική σκηνή Εισαγωγή

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση

Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση ΤΨΣ 50 Ψηφιακή Επεξεργασία Εικόνας Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς Περιεχόµενα Βιβλιογραφία

Διαβάστε περισσότερα

E [ -x ^2 z] = E[x z]

E [ -x ^2 z] = E[x z] 1 1.ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ Σε αυτήν την διάλεξη θα πάμε στο φίλτρο με περισσότερες λεπτομέρειες, και θα παράσχουμε μια νέα παραγωγή για το φίλτρο Kalman, αυτή τη φορά βασισμένο στην ιδέα της γραμμικής

Διαβάστε περισσότερα

1. Ποια μεγέθη ονομάζονται μονόμετρα και ποια διανυσματικά;

1. Ποια μεγέθη ονομάζονται μονόμετρα και ποια διανυσματικά; ΚΕΦΑΛΑΙΟ 2 ο ΚΙΝΗΣΗ 2.1 Περιγραφή της Κίνησης 1. Ποια μεγέθη ονομάζονται μονόμετρα και ποια διανυσματικά; Μονόμετρα ονομάζονται τα μεγέθη τα οποία, για να τα προσδιορίσουμε πλήρως, αρκεί να γνωρίζουμε

Διαβάστε περισσότερα

E[ (x- ) ]= trace[(x-x)(x- ) ]

E[ (x- ) ]= trace[(x-x)(x- ) ] 1 ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ Σε αυτό το μέρος της πτυχιακής θα ασχοληθούμε λεπτομερώς με το φίλτρο kalman και θα δούμε μια καινούρια έκδοση του φίλτρου πάνω στην εφαρμογή της γραμμικής εκτίμησης διακριτού

Διαβάστε περισσότερα

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής Χαρακτηριστικά Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα

Διαβάστε περισσότερα

Ανάκτηση πολυμεσικού περιεχομένου

Ανάκτηση πολυμεσικού περιεχομένου Ανάκτηση πολυμεσικού περιεχομένου Ανίχνευση / αναγνώριση προσώπων Ανίχνευση / ανάγνωση κειμένου Ανίχνευση αντικειμένων Οπτικές λέξεις Δεικτοδότηση Σχέσεις ομοιότητας Κατηγοριοποίηση ειδών μουσικής Διάκριση

Διαβάστε περισσότερα

MPEG-4: Διαδραστικές εφαρμογές πολυμέσων

MPEG-4: Διαδραστικές εφαρμογές πολυμέσων MPEG-4: Διαδραστικές εφαρμογές πολυμέσων Γιώργος Τζιρίτας Τμήμα Επιστήμης Υπολογιστών http://www.csd.uoc.gr/~tziritas Άνοιξη 2016 1 Εισαγωγή Δημοσίευση 1998 (Intern. Telecom. Union) Επικοινωνίες με πολυμέσα,

Διαβάστε περισσότερα

Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB )

Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB ) Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB ) Μια πρώτη ιδέα για το μάθημα χωρίς καθόλου εξισώσεις!!! Περίγραμμα του μαθήματος χωρίς καθόλου εξισώσεις!!! Παραδείγματα από πραγματικές εφαρμογές ==

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα 4o Εργαστήριο Σ.Α.Ε Ενότητα : Μελέτη και Σχεδίαση Σ.Α.Ε Με χρήση του MATLAB Aναστασία Βελώνη Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 10 η : Ανάλυση Εικόνας. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 10 η : Ανάλυση Εικόνας. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 10 η : Ανάλυση Εικόνας Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Εισαγωγή στη ψηφιακή ανάλυση εικόνας

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εφαρμοσμένος & Υπολογιστικός Ηλεκτρομαγνητισμός Ηλ. Αιθ. 012, 013. Στοχαστικά Συστήματα & Επικοινωνίες Ηλ. Αμφ.

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εφαρμοσμένος & Υπολογιστικός Ηλεκτρομαγνητισμός Ηλ. Αιθ. 012, 013. Στοχαστικά Συστήματα & Επικοινωνίες Ηλ. Αμφ. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2014-2015 Περίοδος Ιουνίου 2015 ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο ΕΞΑΜΗΝΟ 5ο-6ο ΕΞΑΜΗΝΟ

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Παρουσίαση 12 η. Θεωρία Χρώματος και Επεξεργασία Έγχρωμων Εικόνων

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Παρουσίαση 12 η. Θεωρία Χρώματος και Επεξεργασία Έγχρωμων Εικόνων Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Παρουσίαση 12 η Θεωρία Χρώματος και Επεξεργασία Έγχρωμων Εικόνων Εισαγωγή (1) Το χρώμα είναι ένας πολύ σημαντικός παράγοντας περιγραφής, που συχνά απλουστεύει κατά

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΕΦΑΝΙΑ ΧΛΟΥΒΕΡΑΚΗ 2014

ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΕΦΑΝΙΑ ΧΛΟΥΒΕΡΑΚΗ 2014 ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΕΦΑΝΙΑ ΧΛΟΥΒΕΡΑΚΗ 2014 ΧΡΗΣΗ ΝΕΩΝ ΟΠΤΙΚΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΜΕΘΟΔΩΝ ΓΙΑ ΤΗΝ ΑΝΤΙΓΡΑΦΗ ΤΡΙΣΔΙΑΣΤΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ Η χρήση

Διαβάστε περισσότερα

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας Τεχνικές Μείωσης Διαστάσεων Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας 1 Εισαγωγή Το μεγαλύτερο μέρος των δεδομένων που καλούμαστε να επεξεργαστούμε είναι πολυδιάστατα.

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 4 η : Βελτίωση Εικόνας. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 4 η : Βελτίωση Εικόνας. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 4 η : Βελτίωση Εικόνας Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Εισαγωγή στις τεχνικές βελτίωσης εικόνας

Διαβάστε περισσότερα

ιαφάνειες μαθήματος "Φωτογραμμετρία ΙΙΙ" (0) Γ. Καρράς_12/2011

ιαφάνειες μαθήματος Φωτογραμμετρία ΙΙΙ (0) Γ. Καρράς_12/2011 Ιστορική Εξέλιξη Φωτογραμμετρίας 1525 Dürer νόμοι προοπτικής 1759 Lambert εμπροσθοτομία 1839 Daguerre φωτογραφία 1851 Laussedat μετρογραφία 1858 Meydenbauer φωτογραμμετρία 1897 Scheimpflug θεωρία αναγωγής

Διαβάστε περισσότερα

Digital Image Processing

Digital Image Processing Digital Image Processing Intensity Transformations Πέτρος Καρβέλης pkarvelis@gmail.com Images taken from: R. Gonzalez and R. Woods. Digital Image Processing, Prentice Hall, 2008. Image Enhancement: είναι

Διαβάστε περισσότερα

Nao becomes a painter

Nao becomes a painter Αυτόνομοι Πράκτορες Nao becomes a painter Ομάδα εργασίας: ΚΑΤΣΑΝΙ ΜΕΡΙΕΜΕ 2011030035 Περιγραφή Στόχος της εργασίας εξαμήνου ήταν ο προγραμματισμός της συμπεριφοράς στο Aldebaran NAO ανθρωποειδές ρομπότ,

Διαβάστε περισσότερα

Μοντελοποίηση τρισδιάστατου κόσμου σε πραγματικό κόσμο: το παράδειγμα του Kinect. ιδάσκων: Φ. Αζαριάδης Φοιτήτρια: Άρτεμις-Αγγελική Σφύρη

Μοντελοποίηση τρισδιάστατου κόσμου σε πραγματικό κόσμο: το παράδειγμα του Kinect. ιδάσκων: Φ. Αζαριάδης Φοιτήτρια: Άρτεμις-Αγγελική Σφύρη Μοντελοποίηση τρισδιάστατου κόσμου σε πραγματικό κόσμο: το παράδειγμα του Kinect ιδάσκων: Φ. Αζαριάδης Φοιτήτρια: Άρτεμις-Αγγελική Σφύρη Computer graphics Μοντελοποίηση τρισδιάστατου κόσμου 2d/3d computer

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΟΡΘΗ ΕΠΑΝΑΛΗΨΗ

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΟΡΘΗ ΕΠΑΝΑΛΗΨΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΟΡΘΗ ΕΠΑΝΑΛΗΨΗ Ακαδημαϊκό Έτος 2017-2018 Περίοδος Σεπτεμβρίου 2018 Έκδοση 17/07/2018 ΗΜΕΡΟΜΗΝΙΑ

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εφαρμοσμένος & Υπολογιστικός Ηλεκτρομαγνητισμός Ηλ. Αιθ. 012, 013. Εργαστήριο Ψηφιακών Συστημάτων Ηλ. Εργ.

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εφαρμοσμένος & Υπολογιστικός Ηλεκτρομαγνητισμός Ηλ. Αιθ. 012, 013. Εργαστήριο Ψηφιακών Συστημάτων Ηλ. Εργ. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2014-2015 Περίοδος Ιουνίου 2015 ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο ΕΞΑΜΗΝΟ 5ο-6ο ΕΞΑΜΗΝΟ

Διαβάστε περισσότερα

Ενδεικτική πολυ-εργασία 1 - εφαρμογή στην υπολογιστική όραση

Ενδεικτική πολυ-εργασία 1 - εφαρμογή στην υπολογιστική όραση Ενδεικτική πολυ-εργασία 1 - εφαρμογή στην υπολογιστική όραση Εντοπισμός ενός σήματος STOP σε μια εικόνα. Περιγράψτε τη διαδικασία με την οποία μπορώ να εντοπίσω απλά σε μια εικόνα την ύπαρξη του παρακάτω

Διαβάστε περισσότερα

Τμήμα Επιστήμης Υπολογιστών ΗΥ-474. Ψηφιακό βίντεο. Αναλογικό βίντεο / ψηφιοποίηση Διεπαφές Εκτίμηση κίνησης μπλοκ

Τμήμα Επιστήμης Υπολογιστών ΗΥ-474. Ψηφιακό βίντεο. Αναλογικό βίντεο / ψηφιοποίηση Διεπαφές Εκτίμηση κίνησης μπλοκ Ψηφιακό βίντεο Αναλογικό βίντεο / ψηφιοποίηση Διεπαφές Εκτίμηση κίνησης μπλοκ Αναλογικό βίντεο SECAM PAL NTSC Ρυθμός πλεγμάτων (Hz) 50 50 59,94 Αριθμός ενεργών γραμμών ανά καρέ 576 576 480 Σχήμα εικονοστοιχείου

Διαβάστε περισσότερα

Ειδικά Θέματα Υπολογιστικής Όρασης & Γραφικής. Εμμανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Ειδικά Θέματα Υπολογιστικής Όρασης & Γραφικής. Εμμανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Ειδικά Θέματα Υπολογιστικής Όρασης & Γραφικής Εμμανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Υπολογιστική Όραση Εισαγωγή Εμμανουήλ Ζ. Ψαράκης Πολυτεχνική

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

DIP_01 Εισαγωγήστην ψηφιακήεικόνα. ΤΕΙ Κρήτης

DIP_01 Εισαγωγήστην ψηφιακήεικόνα. ΤΕΙ Κρήτης DIP_01 Εισαγωγήστην ψηφιακήεικόνα ΤΕΙ Κρήτης Ψηφιακήεικόνα Ψηφιακή εικόνα = αναλογική εικόνα µετά από δειγµατοληψία στο χώρο (x και y διευθύνσεις) Αναπαριστάνεται από έναν ή περισσότερους 2 πίνακες Μπορεί

Διαβάστε περισσότερα

Συμπίεση Δεδομένων

Συμπίεση Δεδομένων Συμπίεση Δεδομένων 2013-2014 JPEG 2000 Δρ. Ν. Π. Σγούρος 2 JPEG 2000 Βασικά χαρακτηριστικά Επιτρέπει συμπίεση σε εξαιρετικά χαμηλούς ρυθμούς όπου η συμπίεση με το JPEG εισάγει μεγάλες παραμορφώσεις Ενσωμάτωση

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2016-2017 Περίοδος Σεπεμβρίου 2017 ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Έκδοση 05.07.2017 ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 3-4ο

Διαβάστε περισσότερα

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

ΑΝΙΧΝΕΥΣΗ ΦΩΤΙΑΣ. Χαοτικό φαινόμενο, με ακανόνιστο σχήμα Βασικό χαρακτηριστικό της φωτιάς είναι το χρώμα

ΑΝΙΧΝΕΥΣΗ ΦΩΤΙΑΣ. Χαοτικό φαινόμενο, με ακανόνιστο σχήμα Βασικό χαρακτηριστικό της φωτιάς είναι το χρώμα ΕΙΣΑΓΩΓΗ Έντονη ερευνητική δραστηριότητα για την ανακάλυψη του τέλειου αλγορίθμου πρόβλεψης πυρκαγιάς Χρήση ενσωματωμένων συστημάτων Στόχος της εργασίας είναι η σχεδίαση και η υλοποίηση ενός αυτόνομου

Διαβάστε περισσότερα

ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ

ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΑ ΤΕΙ 2.2.2.3ζ ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΓΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ Εγχειρίδιο χρήσης λογισμικού ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΥΠΕΥΘΥΝΟΣ: ΣΤΡΟΥΘΟΠΟΥΛΟΣ ΧΑΡΑΛΑΜΠΟΣ ΣΕΡΡΕΣ, ΜΑΙΟΣ 2007 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Παρουσίαση Νο. 5 Βελτίωση εικόνας

Παρουσίαση Νο. 5 Βελτίωση εικόνας Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Παρουσίαση Νο. 5 Βελτίωση εικόνας Εισαγωγή Η βελτίωση γίνεται σε υποκειμενική βάση Η απόδοση εξαρτάται από την εφαρμογή Οι τεχνικές είναι συνήθως ad hoc Τονίζει

Διαβάστε περισσότερα

Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος

Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος Τσούρμα Μαρία Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Θέση και Προσανατολισμός

Θέση και Προσανατολισμός Κεφάλαιο 2 Θέση και Προσανατολισμός 2-1 Εισαγωγή Προκειμένου να μπορεί ένα ρομπότ να εκτελέσει κάποιο έργο, πρέπει να διαθέτει τρόπο να περιγράφει τα εξής: Τη θέση και προσανατολισμό του τελικού στοιχείου

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εργαστηριακή και Βιομηχανική Ηλεκτρονική Ηλ. Αμφ. 2, 3. Γλώσσες Προγραμματισμού Ι. Ηλ. Αμφ. 1, 2, 3, 4, 5

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εργαστηριακή και Βιομηχανική Ηλεκτρονική Ηλ. Αμφ. 2, 3. Γλώσσες Προγραμματισμού Ι. Ηλ. Αμφ. 1, 2, 3, 4, 5 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ Ακαδημαϊκό Έτος 2016-2017 Περίοδος Ιουνίου 2017 Έκδοση 08.06.2017 ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο

Διαβάστε περισσότερα

Οδηγίες σχεδίασης στο περιβάλλον Blender

Οδηγίες σχεδίασης στο περιβάλλον Blender Οδηγίες σχεδίασης στο περιβάλλον Blender Στον πραγματικό κόσμο, αντιλαμβανόμαστε τα αντικείμενα σε τρεις κατευθύνσεις ή διαστάσεις. Τυπικά λέμε ότι διαθέτουν ύψος, πλάτος και βάθος. Όταν θέλουμε να αναπαραστήσουμε

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2015-2016 Περίοδος Σεπτεμβρίου 2016 ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1-2o ΕΞΑΜΗΝΟ 3-4ο ΕΞΑΜΗΝΟ

Διαβάστε περισσότερα

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM Οδηγίες για την υλοποίηση της διδακτικής παρέμβασης 1η διδακτική ώρα: Υλοποίηση του φύλλου εργασίας 1 με

Διαβάστε περισσότερα

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να:

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να: ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μεθοδολογίες και Συστήματα Βιομηχανικής Αυτοματοποίησης Κωδικός Μαθήματος Μ3 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε Τρόπος/Μέθοδοι

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2017-2018 Περίοδος Ιουνίου 2018 ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο ΕΞΑΜΗΝΟ 5ο-6ο ΕΞΑΜΗΝΟ

Διαβάστε περισσότερα

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1 Εικόνα Εισαγωγή Ψηφιακή αναπαράσταση Κωδικοποίηση των χρωμάτων Συσκευές εισόδου και εξόδου Βάθος χρώματος και ανάλυση Συμβολική αναπαράσταση Μετάδοση εικόνας Σύνθεση εικόνας Ανάλυση εικόνας Τεχνολογία

Διαβάστε περισσότερα

ΙΑΤΡΙΚΗ ΑΠΕΙΚΟΝΙΣΗ & ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΙΑΤΡΙΚΗΣ ΕΙΚΟΝΑΣ

ΙΑΤΡΙΚΗ ΑΠΕΙΚΟΝΙΣΗ & ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΙΑΤΡΙΚΗΣ ΕΙΚΟΝΑΣ ΙΑΤΡΙΚΗ ΑΠΕΙΚΟΝΙΣΗ & ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΙΑΤΡΙΚΗΣ ΕΙΚΟΝΑΣ ΔΡ. Γ. ΜΑΤΣΟΠΟΥΛΟΣ ΕΠ. ΚΑΘΗΓΗΤΗΣ ΣΧΟΛΗ ΗΛΕΚΤΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Επεξεργασία Ιατρικών Εικόνων

Διαβάστε περισσότερα

Γ. Β Α Λ Α Τ Σ Ο Σ. 4ο ΓΥΜΝΑΣΙΟ ΛΑΜΙΑΣ 1. Γιώργος Βαλατσός Φυσικός Msc

Γ. Β Α Λ Α Τ Σ Ο Σ. 4ο ΓΥΜΝΑΣΙΟ ΛΑΜΙΑΣ 1. Γιώργος Βαλατσός Φυσικός Msc 4ο ΓΥΜΝΑΣΙΟ ΛΑΜΙΑΣ 1 1. Πότε τα σώματα θεωρούνται υλικά σημεία; Αναφέρεται παραδείγματα. Στη φυσική πολλές φορές είναι απαραίτητο να μελετήσουμε τα σώματα χωρίς να λάβουμε υπόψη τις διαστάσεις τους. Αυτό

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 11: Κωδικοποίηση εικόνων: JPEG Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 11: Κωδικοποίηση εικόνων: JPEG Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 11: Κωδικοποίηση εικόνων: JPEG Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 1: Εισαγωγή στη C - Αλγόριθμοι Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Ακαδημαϊκό Έτος 2018-2019 Περίοδος Σεπεμβρίου 2019 Έκδοση 17/07/2019 26/08/2019 27/08/2019

Διαβάστε περισσότερα

Εφαρμογή ψηφιοποίησης RollMan

Εφαρμογή ψηφιοποίησης RollMan Εφαρμογή ψηφιοποίησης RollMan Η εφαρμογή ψηφιοποίησης των ληξιαρχικών πράξεων RollMan (RollManager) δημιουργήθηκε από την εταιρία ειδικά για το σκοπό αυτό στο πλαίσιο της συνεργασίας με τους Δήμους. Από

Διαβάστε περισσότερα

Μάθημα 8 ο. Ανίχνευση Ακμών ΤΜΗΥΠ / ΕΕΣΤ 1

Μάθημα 8 ο. Ανίχνευση Ακμών ΤΜΗΥΠ / ΕΕΣΤ 1 Μάθημα 8 ο Ανίχνευση Ακμών ΤΜΗΥΠ / ΕΕΣΤ 1 Εισαγωγή (1) Οι ακμές είναι βασικά χαρακτηριστικά της εικόνας. Ένας αποδεκτός ορισμός της ακμής είναι ο ακόλουθος: «Το σύνορο μεταξύ δύο ομοιογενών περιοχών με

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Διατάξεις Ημιαγωγών. Ηλ. Αιθ. 013. Αριθμητικές Μέθοδοι Διαφορικών Εξισώσεων Ηλ. Αιθ. 013

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Διατάξεις Ημιαγωγών. Ηλ. Αιθ. 013. Αριθμητικές Μέθοδοι Διαφορικών Εξισώσεων Ηλ. Αιθ. 013 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2014-2015 Περίοδος Φεβρουαρίου 2015 ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο ΕΞΑΜΗΝΟ 5ο-6ο

Διαβάστε περισσότερα

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη;

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; ΚΕΦΑΛΑΙΟ 2 ο ΚΙΝΗΣΗ 2.1 Περιγραφή της Κίνησης 1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; Κινηματική είναι ο κλάδος της Φυσικής που έχει ως αντικείμενο τη μελέτη της κίνησης. Στην Κινηματική

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Αρχιτεκτονική Υπολογιστών Ηλ. Αιθ. 001, 002. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004. Θεωρία Δικτύων & Κυκλωμάτων

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Αρχιτεκτονική Υπολογιστών Ηλ. Αιθ. 001, 002. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004. Θεωρία Δικτύων & Κυκλωμάτων ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ Ακαδημαϊκό Έτος 2017-2018 Περίοδος Ιουνίου 2018 v20180517 ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο ΕΞΑΜΗΝΟ

Διαβάστε περισσότερα

Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ

Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών Περίληψη Τί προτείνουμε, πώς και γιατί με λίγα λόγια: 55 μαθήματα = 30 για ενιαίο

Διαβάστε περισσότερα

Μάθημα 8 ο. Ανίχνευση Ακμών ΤΜΗΥΠ / ΕΕΣΤ 1

Μάθημα 8 ο. Ανίχνευση Ακμών ΤΜΗΥΠ / ΕΕΣΤ 1 Μάθημα 8 ο Ανίχνευση Ακμών ΤΜΗΥΠ / ΕΕΣΤ 1 Εισαγωγή (1) Οι ακμές είναι βασικά χαρακτηριστικά της εικόνας Προς το παρόν δεν υπάρχει ακόμα ένας ευρέως αποδεκτός ορισμός της ακμής. Εδώ θα θεωρούμε ως ακμή:

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1

ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1 ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1 ΣΥΝΑΡΤΗΣΕΙΣ Η έννοια της συνάρτησης είναι θεμελιώδης στο λογισμό και διαπερνά όλους τους μαθηματικούς κλάδους. Για το φοιτητή είναι σημαντικό να κατανοήσει πλήρως αυτή

Διαβάστε περισσότερα

ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ

ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Συµπληρωµατικές Σηµειώσεις Προχωρηµένο Επίπεδο Επεξεργασίας Εικόνας Σύνθεση Οπτικού Μωσαϊκού ρ. Γ. Χ. Καρράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Μηχανολόγων Μηχανικών Τοµέας Μηχανολογικών

Διαβάστε περισσότερα

Α.Τ.Ε.Ι. Ηρακλείου Ψηφιακή Επεξεργασία Εικόνας ιδάσκων: Βασίλειος Γαργανουράκης. Ανθρώπινη Όραση - Χρωµατικά Μοντέλα

Α.Τ.Ε.Ι. Ηρακλείου Ψηφιακή Επεξεργασία Εικόνας ιδάσκων: Βασίλειος Γαργανουράκης. Ανθρώπινη Όραση - Χρωµατικά Μοντέλα Ανθρώπινη Όραση - Χρωµατικά Μοντέλα 1 Τι απαιτείται για την όραση Φωτισµός: κάποια πηγή φωτός Αντικείµενα: που θα ανακλούν (ή διαθλούν) το φως Μάτι: σύλληψη του φωτός σαν εικόνα Τρόποι µετάδοσης φωτός

Διαβάστε περισσότερα

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER 4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER Σκοπός του κεφαλαίου είναι να παρουσιάσει μερικές εφαρμογές του Μετασχηματισμού Fourier (ΜF). Ειδικότερα στο κεφάλαιο αυτό θα περιγραφούν έμμεσοι τρόποι

Διαβάστε περισσότερα

kg(χιλιόγραμμο) s(δευτερόλεπτο) Ένταση ηλεκτρικού πεδίου Α(Αμπέρ) Ένταση φωτεινής πηγής cd (καντέλα) Ποσότητα χημικής ουσίας mole(μόλ)

kg(χιλιόγραμμο) s(δευτερόλεπτο) Ένταση ηλεκτρικού πεδίου Α(Αμπέρ) Ένταση φωτεινής πηγής cd (καντέλα) Ποσότητα χημικής ουσίας mole(μόλ) ΕΙΣΑΓΩΓΗ- ΦΥΣΙΚΑ ΜΕΓΕΘΗ Στα φυσικά φαινόμενα εμφανίζονται κάποιες ιδιότητες της ύλης. Για να περιγράψουμε αυτές τις ιδιότητες χρησιμοποιούμε τα φυσικά μεγέθη. Τέτοια είναι η μάζα, ο χρόνος, το ηλεκτρικό

Διαβάστε περισσότερα

219 Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεσσαλονίκης

219 Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεσσαλονίκης 219 Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεσσαλονίκης Το Τμήμα Ηλεκτρολόγων Μηχανικών ιδρύθηκε με το ΒΔ.400/72 και άρχισε να λειτουργεί το 1972-73. Το ΑΠΘ είχε τότε ήδη 28.000 φοιτητές. Η ακριβής

Διαβάστε περισσότερα

Τεράστιες ανάγκες σε αποθηκευτικό χώρο

Τεράστιες ανάγκες σε αποθηκευτικό χώρο ΣΥΜΠΙΕΣΗ Τεράστιες ανάγκες σε αποθηκευτικό χώρο Παράδειγμα: CD-ROM έχει χωρητικότητα 650MB, χωρά 75 λεπτά ασυμπίεστου στερεοφωνικού ήχου, αλλά 30 sec ασυμπίεστου βίντεο. Μαγνητικοί δίσκοι χωρητικότητας

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

Διαβάστε περισσότερα

Εργαλεία Προγραμματισμού Ψηφιακής Επεξεργασίας Εικόνας: Το Matlab Image Processing Toolbox

Εργαλεία Προγραμματισμού Ψηφιακής Επεξεργασίας Εικόνας: Το Matlab Image Processing Toolbox ΚΕΣ 03 Αναγνώριση προτύπων και ανάλυση εικόνας Εργαλεία Προγραμματισμού Ψηφιακής Επεξεργασίας Εικόνας: Το Matlab Image Processing Toolbox Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου

Διαβάστε περισσότερα

MPEG-7 : Περιγραφή πολυμεσικού περιεχομένου

MPEG-7 : Περιγραφή πολυμεσικού περιεχομένου MPEG-7 : Περιγραφή πολυμεσικού περιεχομένου Εξαγωγή μεταδεδομένων / περιγραφών Χαμηλού επιπέδου περιγραφείς Συντακτικός και σημασιολογικός ορισμός Ανάκτηση πολυμεσικών τεκμηρίων XML / OWL Δημοσίευση 2002

Διαβάστε περισσότερα

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

Διαβάστε περισσότερα

Εργαστήριο Προγραμματισμού και τεχνολογίας Ευφυών συστημάτων (intelligence)

Εργαστήριο Προγραμματισμού και τεχνολογίας Ευφυών συστημάτων (intelligence) Εργαστήριο Προγραμματισμού και τεχνολογίας Ευφυών συστημάτων (intelligence) http://www.intelligence.tuc.gr Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Το εργαστήριο Ένα από τα 3 εργαστήρια του

Διαβάστε περισσότερα

Γραφικά Ι. Ενότητα 1: Εισαγωγή. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Γραφικά Ι. Ενότητα 1: Εισαγωγή. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Γραφικά Ι Ενότητα 1: Εισαγωγή Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ενότητα 1 Εισαγωγή Ιστορικά Ιστορική ανασκόπηση : 3 Ιστορικά (2) Ρυθμοί ανάπτυξης CPU και

Διαβάστε περισσότερα

Προσομοίωση Συστημάτων

Προσομοίωση Συστημάτων Προσομοίωση Συστημάτων Προσομοίωση και μοντέλα συστημάτων Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Γενικός ορισμός συστήματος Ένα σύνολο στοιχείων/οντοτήτων που αλληλεπιδρούν μεταξύ

Διαβάστε περισσότερα

Ε.Α.Υ. Υπολογιστική Όραση. Κατάτμηση Εικόνας

Ε.Α.Υ. Υπολογιστική Όραση. Κατάτμηση Εικόνας Ε.Α.Υ. Υπολογιστική Όραση Κατάτμηση Εικόνας Γεώργιος Παπαϊωάννου 2015 ΚΑΤΩΦΛΙΩΣΗ Κατωφλίωση - Γενικά Είναι η πιο απλή μέθοδος segmentation εικόνας Χωρίζουμε την εικόνα σε 2 (binary) ή περισσότερες στάθμες

Διαβάστε περισσότερα

7. ΠΡΟΓΡΑΜΜΑ ΚΟΡΜΟΥ ο ΕΞΑΜΗΝΟ. Θεωρ. - Εργ.

7. ΠΡΟΓΡΑΜΜΑ ΚΟΡΜΟΥ ο ΕΞΑΜΗΝΟ. Θεωρ. - Εργ. 7. ΠΡΟΓΡΑΜΜΑ ΚΟΡΜΟΥ 7.1. 1ο ΕΞΑΜΗΝΟ Υποχρεωτικά 9.2.32.1 Μαθηματική Ανάλυση (Συναρτήσεις μιας μεταβλητής) 5 0 9.2.04.1 Γραμμική Άλγεβρα 4 0 9.4.31.1 Φυσική Ι (Μηχανική) 5 0 3.4.01.1 Προγραμματισμός Ηλεκτρονικών

Διαβάστε περισσότερα