Π Τ Υ Χ Ι Α Κ Η Ε Ρ ΓΑ Σ Ι Α

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

Download "Π Τ Υ Χ Ι Α Κ Η Ε Ρ ΓΑ Σ Ι Α"

Transcript

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

2

3 ΠΕΡΙΛΗΨΗ Π Ε Ρ Ι Λ Η Ψ Η Αντικείμενο της παρούσας πτυχιακής εργασίας είναι κατηγοριοποίηση εικόνων σε έξυπνες συσκευές. Συγκεκριμένα, στόχος της πτυχιακής ήταν η ανάπτυξη μιας εφαρμογής για κινητές συσκευές (κινητά τηλέφωνα και tablets), οι οποίες λειτουργούν με το λειτουργικό σύστημα Android OS της Google. Η εφαρμογή δίνει την δυνατότητα στον χρήστη να μάθει πληροφορίες σχετικά με κάποιο σημείο ενδιαφέροντος (POI) της Θεσσαλονίκης μέσω της αναγνώρισης μια εικόνας του εν λόγω σημείου. Η εργασία αυτή εκπονήθηκε σε συνεργασία με την ομάδα Μηχανικής Μάθησης και Ανακάλυψης Γνώσης του τμήματος Πληροφορικής ΑΠΘ. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ III

4 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ IV ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

5 ABSTRACT A B S T R A C T The purpose of the this thesis is the classification of images on smart devices. Specifically, the main goal of this thesis was the development of an application for mobile devices (such as mobile phones and tablets), which work with Google s operating system Android OS. The application gives to the user the capability to learn some information about a Point Of Interest (POI) in Thessaloniki via the recognition of an image of the POI. This thesis was developed in collaboration with the Machine Learning and Knowledge Discovery team of the Computer Science Department in Aristotle University of Thessaloniki. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ V

6

7 ΕΥΧΑΡΙΣΤΙΕΣ Ε Υ Χ Α Ρ Ι Σ Τ Ι Ε Σ Πριν την παρουσίαση των αποτελεσμάτων της παρούσας εργασίας, αισθάνομαι την υποχρέωση να ευχαριστήσω ορισμένους από τους ανθρώπους που γνώρισα, συνεργάστηκα μαζί τους και έπαιξαν πολύ σημαντικό ρόλο στην πραγματοποίησή της. Αρχικά, θα ήθελα να ευχαριστήσω τον κ. Ιωάννη Βλαχάβα, Καθηγητή του τμήματος Πληροφορικής του ΑΠΘ, τον άνθρωπο που με εμπιστεύτηκε και μου ανάθεσε το έργο της εκπόνησης της εν λόγω πτυχιακής. Επιπλέον, θα ήθελα να ευχαριστήσω ιδιαίτερα τον υποψήφιο διδάκτορα κ. Ελευθέριο Σπυρομήτρο-Ξιούφη για τις υποδείξεις του, την υπομονή του και τον χρόνο που ξόδεψε για να με βοηθήσει. Η συμβολή τους στην επιτυχή ολοκλήρωση αυτής της εργασίας υπήρξε καθοριστική. Τέλος, θέλω να ευχαριστήσω την οικογένεια μου για την ηθική υποστήριξη που μου προσέφεραν όλο αυτό το διάστημα και ιδιαίτερα τους γονείς μου και τον αδερφό μου οι οποίοι υπήρξαν ανέκαθεν συμπαραστάτες όλων των επιλογών μου και άξιοι βοηθοί και υποστηρικτές σε όλες μου τις επιλογές. < > Χριστέλης Ευάγγελος ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ VII

8

9 ΠΕΡΙΕΧΟΜΕΝΑ Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α ΠΕΡΙΛΗΨΗ... III ABSTRACT... V ΕΥΧΑΡΙΣΤΙΕΣ... VII ΠΕΡΙΕΧΟΜΕΝΑ... IX ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ... XI ΛΙΣΤΑ ΠΙΝΑΚΩΝ... XIII ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΚΕΦΑΛΑΙΟ 2: ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ ΤΙ ΕΙΝΑΙ Η ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ ΟΡΙΣΜΟΣ ΚΑΤΗΓΟΡΙΕΣ ΜΕΘΟΔΩΝ ΤΗΣ ΜΗΧΑΝΙΚΗΣ ΜΑΘΗΣΗΣ ΤΑΞΙΝΟΜΗΣΗ ΔΕΝΤΡΑ ΑΠΟΦΑΣΗΣ ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΔΕΝΤΡΩΝ ΑΠΟΦΑΣΗΣ Κ-ΚΟΝΤΙΝΟΤΕΡΟΙ ΓΕΙΤΟΝΕΣ (Κ-ΝΝ) SUPPORT VECTOR MACHINES (SVMS) ΜΕΤΡΑ ΑΞΙΟΛΟΓΗΣΗΣ ΤΑΞΙΝΟΜΗΤΩΝ ΜΕΘΟΔΟΙ ΑΠΟΤΙΜΗΣΗΣ ΑΚΡΙΒΕΙΑΣ ΤΑΞΙΝΟΜΗΤΩΝ TRAIN TEST SPLIT (HOLDOUT) K-FOLD CROSS VALIDATION ΚΕΦΑΛΑΙΟ 3: ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ ΤΙ ΕΙΝΑΙ Η ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ ΟΡΙΣΜΟΣ ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΜΗΧΑΝΙΚΗΣ ΌΡΑΣΗΣ ΑΝΙΧΝΕΥΣΗ & ΠΕΡΙΓΡΑΦΗ ΧΑΡΑΚΤΗΡΙΣΤΙΚΩΝ (FEATURE DETECTION & DESCRIPTION) SIFT SURF ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ IX

10 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ 3.3 ΣΥΓΧΩΝΕΥΣΗ ΧΑΡΑΚΤΗΡΙΣΤΙΚΩΝ BAG OF WORDS (BOW) VECTOR OF LOCALLY AGGREGATED DESCRIPTORS (VLAD) K-MEANS FISHER VECTOR (FV) PCA (PRINCIPAL COMPONENT ANALYSIS) ΚΕΦΑΛΑΙΟ 4: ΥΛΟΠΟΙΗΣΗ & ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΓΕΝΙΚΑ ΓΙΑ ΤΗΝ ΕΦΑΡΜΟΓΗ ΥΛΟΠΟΙΗΣΗ ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΧΡΗΣΗ ΕΦΑΡΜΟΓΗΣ ΚΕΦΑΛΑΙΟ 5: ΕΡΓΑΛΕΙΑ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΑΝ ANDROID OS ΤΙ ΕΙΝΑΙ ΤΟ ANDROID OS ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ANDROID ANDROID SOFTWARE DEVELOPMENT KIT (SDK) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ANDROID OS ΙΣΤΟΡΙΚΟ ΕΚΔΟΣΕΩΝ ΤΟΥ ANDROID OS BOOFCV EJML (EFFICIENT JAVA MATRIX LIBRARY) WEKA ΚΕΦΑΛΑΙΟ 6: ΣΥΜΠΕΡΑΣΜΑΤΑ & ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ ΠΑΡΑΡΤΗΜΑ I: ΚΩΔΙΚΑΣ ΕΦΑΡΜΟΓΗΣ ΠΑΡΑΡΤΗΜΑ II: ΑΝΑΦΟΡΕΣ X ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

11 ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ Λ Ι Σ Τ Α Σ Χ Η Μ ΑΤ Ω Ν ΕΙΚΟΝΑ 1: ΠΑΡΑΔΕΙΓΜΑ ΕΝΟΣ ΔΕΝΤΡΟΥ ΑΠΟΦΑΣΗΣ ΕΙΚΟΝΑ 2: ΠΑΡΑΔΕΙΓΜΑ ΤΟΥ ΚΝΝ ΣΕ ΣΤΟΙΧΕΙΑ ΣΤΟΝ ΔΙΣΔΙΑΣΤΑΤΟ ΧΩΡΟ ΕΙΚΟΝΑ 3: ΠΑΡΑΔΕΙΓΜΑ ΕΠΙΛΟΓΗΣ ΥΠΕΡΕΠΙΦΑΝΕΙΑΣ ΣΕ SVMS ΕΙΚΟΝΑ 4: ΤΟ ΟΠΤΙΚΟ ΑΠΟΤΕΛΕΣΜΑ ΕΝΟΣ ΑΛΓΟΡΙΘΜΟΥ ΕΝΤΟΠΙΣΜΟΥ ΓΩΝΙΩΝ ΕΙΚΟΝΑ 5: Η ΛΟΓΙΚΗ ΤΗΣ ΜΕΘΟΔΟΥ BAG OF WORDS ΕΙΚΟΝΑ 6 : ΑΝΑΘΕΣΗ ΠΕΡΙΓΡΑΦΕΩΝ ΧΑΡΑΚΤΗΡΙΣΤΙΚΩΝ ΣΤΟ ΚΟΝΤΙΝΟΤΕΡΟ ΚΕΝΤΡΟ ΕΙΚΟΝΑ 7: ΤΟ ΕΙΚΟΝΙΔΙΟ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΕΙΚΟΝΑ 8 : ΧΡΗΣΗ FLICKR API ΓΙΑ ΤΗΝ ΣΥΛΛΟΓΗ ΕΙΚΟΝΩΝ ΕΙΚΟΝΑ 9: ΑΠΟΤΕΛΕΣΜΑ WEKA ΣΕ ΙΒK ΜΕ K=10 ΚΑΙ 10 CROSS FOLD VALIDATION ΕΙΚΟΝΑ 10: ΥΠΟΛΟΓΙΣΜΟΣ THRESHOLDS ΣΤΟ WEKA ΕΙΚΟΝΑ 11: ΟΘΟΝΗ ΥΠΟΔΟΧΗΣ ΕΙΚΟΝΑ 12: ΑΡΧΙΚΗ ΟΘΟΝΗ ΕΦΑΡΜΟΓΗΣ ΕΙΚΟΝΑ 13: ΕΜΦΑΝΙΣΗ ΕΦΑΡΜΟΓΗΣ ΜΕΤΑ ΑΠΟ ΕΠΙΛΟΓΗ ΕΙΚΟΝΑΣ ΕΙΚΟΝΑ 14: ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΤΟ POI ΕΙΚΟΝΑ 15: ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ ΕΦΑΡΜΟΓΗΣ ΕΙΚΟΝΑ 16: ΔΙΑΘΕΣΙΜΕΣ ΡΥΘΜΙΣΕΙΣ ΕΙΚΟΝΑ 17: ΤΟ ΛΟΓΟΤΥΠΟ ΤΟΥ ANDROID OS ΕΙΚΟΝΑ 18: ΑΡΧΙΚΗ ΟΘΟΝΗ ΤΟΥ ANDROID OS ΕΙΚΟΝΑ 19: Η ΕΦΑΡΜΟΓΗ GOOGLE PLAY ΕΙΚΟΝΑ 20: ΠΡΟΤΕΡΑΙΟΤΗΤΑ ΤΩΝ ΔΙΑΔΙΚΑΣΙΩΝ ΣΤΟ ANDROID OS ΕΙΚΟΝΑ 21: ΤΟ ΛΟΓΟΤΥΠΟ ΤΟΥ ANDROID SDK ΕΙΚΟΝΑ 22: Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ANDROID OS ΕΙΚΟΝΑ 23: ΠΕΡΙΒΑΛΛΟΝ ΧΡΗΣΗΣ ANDROID ΕΙΚΟΝΑ 24: Η ΕΣΩΤΕΡΙΚΗ ΑΝΑΖΗΤΗΣΗ ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ XI

12

13 ΛΙΣΤΑ ΠΙΝΑΚΩΝ Λ Ι Σ Τ Α Π Ι Ν Α Κ Ω Ν ΠΙΝΑΚΑΣ 1: ΣΤΑΤΙΣΤΙΚΑ ΓΙΑ ΤΗΝ ΕΞΑΓΩΓΗ SURF ΣΕ ΚΙΝΗΤΟ ΠΙΝΑΚΑΣ 2: ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΓΙΑ 1-ΠΛΗΣΙΕΣΤΕΡΟ ΓΕΙΤΟΝΑ (IB1) ΠΙΝΑΚΑΣ 3: ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΓΙΑ 10-ΠΛΗΣΙΕΣΤΕΡΟΥΣ ΓΕΙΤΟΝΕΣ (IB10) ΠΙΝΑΚΑΣ 4: ΕΠΙΛΟΓΕΣ ΕΦΑΡΜΟΓΗΣ ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ XIII

14

15 Κ Ε Φ Α Λ Α Ι Ο 1 : Ε Ι Σ Α Γ Ω Γ Η

16

17 ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΕΙΣΑΓΩΓΗ Αντικείμενο της παρούσας εργασίας είναι η κατηγοριοποίηση εικόνων σε έξυπνες συσκευές. Συγκεκριμένα, αναπτύχθηκε μια εφαρμογή, η οποία δίνει στον χρήστη την δυνατότητα να πληροφορηθεί σχετικά με κάποιο σημείο ενδιαφέροντος, σε κάποιο σημείο της Θεσσαλονίκης, το οποίο ορθώνεται μπροστά του. Αυτό γίνεται με την αναγνώριση μιας εικόνας, που τραβά ο χρήστης με το κινητό του τηλέφωνο ή μιας εικόνας από την συλλογή του, η οποία μέσω της εφαρμογής ταυτίζεται με κάποιο POI και εμφανίζονται σχετικές πληροφορίες και ιστορικά στοιχεία για το εν λόγω σημείο ενδιαφέροντος. Η εργασία αυτή εκπονήθηκε σε συνεργασία με την ομάδα Μηχανικής Μάθησης και Ανακάλυψης Γνώσης του τμήματος Πληροφορικής ΑΠΘ. Η εργασία δομείται σε κεφάλαια ως εξής: Στο Κεφάλαιο 2 δίνεται ο ορισμός της Μηχανικής Μάθησης και αναφέρονται οι κατηγορίες μεθόδων της μηχανικής μάθησης. Στη συνέχεια, αναλύονται κάποιες τεχνικές ταξινόμησης με μεγαλύτερη έμφαση να έχει δοθεί σε αυτή των Κ Κοντινότερων Γειτόνων, διότι είναι η τεχνική που επιλέξαμε στην υλοποίηση. Τέλος, αναφέρονται οι κυριότεροι μέθοδοι αξιολόγησης και αποτίμησης ακρίβειας ταξινομητών. Στο Κεφάλαιο 3, αναπτύσσονται τα θέματα που αφορούν την Μηχανική Όραση. Συγκεκριμένα, αναφερόμαστε στις εφαρμογές της μηχανικής όρασης αλλά κυρίως στην εξαγωγή και περιγραφή χαρακτηριστικών. Οι δύο μέθοδοι που αναπτύχθηκαν είναι οι SIFT και SURF, ο πρώτος ως ο βασικότερος αλγόριθμος και ο δεύτερος ως ο αλγόριθμος που χρησιμοποιήθηκε στα πλαίσια της πτυχιακής. Ακόμη, αναφέρθηκαν οι κυριότερες μέθοδοι συγχώνευσης οπτικών χαρακτηριστικών καθώς και η μέθοδος PCA, η οποία χρησιμοποιήθηκε για την μείωση των διαστάσεων των χαρακτηριστικών που εξάγονται. Στο Κεφάλαιο 4, περιγράφεται η αρχιτεκτονική και ο τρόπος υλοποίησης της εφαρμογής που αναπτύξαμε. Ακόμη, παρουσιάζονται τα αποτελέσματα πειραμάτων που μας βοήθησαν στην επιλογή ορίων και αλγορίθμων για την χρήση στα πλαίσια της εφαρμογής. Στο Κεφάλαιο 5, αναφέρονται τα χαρακτηριστικά του λειτουργικού συστήματος στο οποίο αναπτύχθηκε η εφαρμογή, το Android OS, καθώς και λεπτομέρειες σχετικά με την αρχιτεκτονική του και το ιστορικό εκδόσεών του μέχρι και σήμερα. Επιπρόσθετα, αναγνωρίζεται η πολύτιμη βοήθεια κάποιων λογισμικών που μας βοήθησαν στην υλοποίηση και αναφερόμαστε στον σκοπό και την χρήσης του καθενός. Στο Κεφάλαιο 6, επισημάνονται τα κυριότερα συμπεράσματα στα όποια μας οδήγησε η εργασία αυτή και προτείνονται μερικές μελλοντικές επεκτάσεις, οι οποίες θα κάνουν πιο εύχρηστη και αποδοτική την εφαρμογή. Στο Παράρτημα I παρουσιάζεται η αρχιτεκτονική και ο κώδικας της εφαρμογής με περαιτέρω επεξηγήσεις. Στο Παράρτημα IΙ παρουσιάζονται αλφαβητικά η βιβλιογραφία και οι δικτυακοί τόποι που αναφέρονται στην εργασία. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 17

18 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ 18 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

19 Κ Ε Φ Α Λ Α Ι Ο 2 : Μ Η Χ Α Ν Ι Κ Η Μ Α Θ Η Σ Η

20

21 ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ 2.1 ΤΙ ΕΊΝΑΙ Η ΜΗΧΑΝΙΚΉ ΜΆΘΗΣΗ Η μηχανική μάθηση (machine learning) είναι μια από τις παλαιότερες έννοιες και ερευνητικούς τομείς της Τεχνητής Νοημοσύνης. Συχνά, οι δύο αυτές έννοιες της Μηχανικής Μάθησης και της Τεχνητής Νοημοσύνης συγχέονται, καθώς η δυνατότητα μάθησης πρέπει να αποτελεί το κυριότερο χαρακτηριστικό κάθε οντότητας που θέλει να αποκαλείται νοήμων. Από ερευνητικής απόψεως, η μηχανική μάθηση έχει ασχοληθεί με πολλά προβλήματα (αυτόνομα οχήματα, πρόβλεψη συμπεριφορών και προτιμήσεων χρηστών σε ιστοσελίδες, ταξινόμηση ως spam ή όχι κ.α.) δυστυχώς όμως η κατασκευή μιας μηχανής για γενικευμένη μάθηση αποτελεί πολύ δύσκολο έργο, για τα μέσα που διαθέτουμε προς το παρόν. Αλλά το κύριο όφελος του τομέα αυτού είναι η παραγωγή συστημάτων υποβοήθησης και πρόβλεψης γεγονότων. Η αποτελεσματικότητά τους εξαρτάται άμεσα από την ποσότητα και τη ποιότητα γνώσης με την οποία έχει εξοπλιστεί αρχικά διότι χωρίς καλή κατανόηση το αντικειμένου που πρέπει να μάθει το σύστημα, η διαδικασία της μάθησης γίνεται εξαιρετικά δύσκολη Ορισμός Η Μηχανική Μάθηση είναι ένας τομέας της Τεχνητής Νοημοσύνης, ο οποίος έχει ως αντικείμενο την κατασκευή και την μελέτη συστημάτων τα οποία μπορούν να «μάθουν». Κατά καιρούς έχουν προταθεί διάφοροι ορισμοί για την Μηχανική Μάθηση, όπως των : Arthur Samuel (1959), «η μηχανική μάθηση είναι ένα πεδίο έρευνας το οποίο δίνει τη δυνατότητα στους υπολογιστές να μάθουν χωρίς να προγραμματίζονται επακριβώς», Simon (1983), «η μάθηση σηματοδοτεί προσαρμοστικές αλλαγές σε ένα σύστημα με την έννοια ότι αυτές του επιτρέπουν να κάνει την ίδια εργασία, ή εργασίες της ίδιας κατηγορίας, πιο αποδοτικά και αποτελεσματικά την επόμενη φορά», Minsky (1985), «μάθηση είναι να κάνουμε χρήσιμες αλλαγές στο μυαλό μας» Michalski (1986), «μάθηση είναι η δημιουργία ή η αλλαγή της αναπαράστασης των εμπειριών» Mitchell, T. (1997), έδωσε ένα πιο επίσημο ορισμό «Ένα πρόγραμμα υπολογιστή μαθαίνει από μια εμπειρία Ε σε συνάρτηση με κάποιες κλάσεις διεργασιών Τ και μέτρο απόδοσης P, εάν η απόδοση του στις διεργασίες Τ, σύμφωνα με το μέτρο P, βελτιώνεται με την εμπειρία Ε»

22 2.1.2 Κατηγορίες μεθόδων της Μηχανικής Μάθησης Με την πάροδο του χρόνου έχουν αναπτυχθεί πολλές τεχνικές μηχανικής μάθησης, οι οποίες ανήκουν σε ένα από τα δυο παρακάτω κύρια είδη: Μάθηση με επίβλεψη (supervised learning) ή μάθηση με παραδείγματα (learning from examples), Μάθηση χωρίς επίβλεψη (unsupervised learning) ή μάθηση από παρατήρηση (learning from observation) Στη μάθηση με επίβλεψη το σύστημα καλείται να «μάθει» μια έννοια ή συνάρτηση από ένα σύνολο δεδομένων, η οποία αποτελεί περιγραφή ενός μοντέλου. Αυτός ο τύπος επίβλεψης ονομάζεται έτσι επειδή θεωρείται ότι υπάρχει ένας «επιβλέπων», ο οποίος παρέχει την σωστή τιμή εξόδου της συνάρτησης, για τα υπό εξέταση δεδομένα. Αντίθετα, στη μάθηση χωρίς επίβλεψη το σύστημα πρέπει μόνο του να ανακαλύψει συσχετίσεις ή ομάδες σε ένα σύνολο δεδομένων, δημιουργώντας πρότυπα, χωρίς να είναι γνωστό αν υπάρχουν, πόσα και ποια είναι. Τα μοντέλα περιγράφουν το σύνολο των δεδομένων και χαρακτηρίζονται και ως μοντέλα πρόβλεψης επειδή προβλέπουν την τιμή μιας μεταβλητής. Εκτός από τις δυνατότητες πρόβλεψης επιπλέον έχουν και κάποιες δυνατότητες πληροφόρησης επειδή δίνουν και ποιοτικές πληροφορίες για τα δεδομένα. Από την άλλη μεριά, τα πρότυπα έχουν τοπικό χαρακτήρα, δηλαδή το καθένα περιγράφει ένα μέρος των δεδομένων και χαρακτηρίζονται ως πρότυπα πληροφόρησης, επειδή περιγράφουν συσχετίσεις μεταξύ των δεδομένων. 2.2 ΤΑΞΙΝΌΜΗΣΗ Στην μάθηση με επίβλεψη διακρίνονται δυο είδη προβλημάτων : 1. τα προβλήματα ταξινόμησης 2. τα προβλήματα παρεμβολής Η ταξινόμηση (classification) αφορά την δημιουργία μοντέλων πρόβλεψης διακριτών τάξεων, όπως για παράδειγμα η ομάδα αίματος, ενώ η παρεμβολή (regression) αφορά στην δημιουργία μοντέλων πρόβλεψης αριθμητικών τιμών Δέντρα Απόφασης Οι αλγόριθμοι μάθησης δέντρων απόφασης είναι από τους πιο δημοφιλής αλγόριθμους μάθησης και έχουν εφαρμοστεί αποτελεσματικά σε διάφορους τομείς (διάγνωση ιατρικών περιστατικών, αξιολόγηση ρίσκου αποδοχής αίτησης για πιστωτική κάρτα κ.α.). Είναι μια μέθοδος για την προσέγγιση συναρτήσεων, που έχουν ως έξοδο διακριτές τιμές. Το αποτέλεσμά τους είναι μια δενδροειδής δομή που με γραφικό τρόπο περιγράφει τα δεδομένα.

23 Εικόνα 1: Παράδειγμα ενός δέντρου απόφασης Κάθε κόμβος στο δέντρο ορίζει μια συνθήκη ελέγχου της τιμής κάποιου χαρακτηριστικού των περιπτώσεων και κάθε κλαδί που φεύγει από τον κόμβο αυτό αντιστοιχεί σε μια διαφορετική διακριτή τιμή του χαρακτηριστικού αυτού. Μια περίπτωση ταξινομείται αρχίζοντας από την ρίζα και ακολουθώντας τα κλαδιά του δέντρου προς κάποιο φύλλο, το οποίο περιέχει και μια διακριτή τιμή της κατηγορίας. Σε κάθε κόμβο ελέγχεται η τιμή της περίπτωσης για το χαρακτηριστικό του κόμβου και ακολουθείται το αντίστοιχο κλαδί. Η αναπαράσταση των δέντρων απόφασης μπορεί να μετατραπεί σε μια διάζευξη, η οποία αποτελείται από συζεύξεις περιορισμών στις τιμές των χαρακτηριστικών. Κάθε μονοπάτι από την ρίζα προς ένα φύλλο αντιστοιχεί σε συζεύξεις περιορισμών στις τιμές των χαρακτηριστικών. Το δέντρο συνολικά εκφράζει την διάζευξη αυτών των συζεύξεων, αφού αποτελείται από όλα τα εναλλακτικά μονοπάτια. Τα δέντρα απόφασης χρησιμοποιούνται για να προβλέψουν με κάποιο βαθμό ακρίβειας την τιμή της μεταβλητής που μοντελοποιούν με βάση τις τιμές των «θεωρητικά» ανεξάρτητων μεταβλητών. Οι περισσότεροι αλγόριθμοι που έχουν αναπτυχθεί για μάθηση δέντρων απόφασης είναι παραλλαγές ενός βασικού αλγορίθμου. Η πιο γνωστή παραλλαγή του αλγορίθμου είναι ο ID3 και ο απόγονός του C4.5. Ο βασικός αλγόριθμος του ID3 είναι : 1. Βρες την ανεξάρτητη μεταβλητή η οποία αν χρησιμοποιηθεί ως κριτήριο διαχωρισμού των δεδομένων εκπαίδευσης θα παράγει κόμβους όσο το δυνατόν πιο διαφορετικούς σε σχέση με αυτούς που θα παράγει η εξαρτημένη μεταβλητή. 2. Κάνε το διαχωρισμό. 3. Επανέλαβε τη διαδικασία για καθένα κόμβο που προέκυψε μέχρι να μην είναι δυνατός περαιτέρω διαχωρισμός.

24 Όταν αναπτύσσεται ένα δέντρο απόφασης είναι σχεδόν σίγουρο πως θα εφαρμοστεί και κάποια μορφή-ες κλαδέματος. Με το κλάδεμα (pruning) επιτυγχάνεται αύξηση της ακρίβειας και μείωση της έκτασης του δέντρου προς φύλλα που δεν περιέχουν μεγάλο πληροφοριακό κέρδος (φύλλα που κατασκευάστηκαν από θορυβώδη ή εσφαλμένα δεδομένα εκπαίδευσης). Η μεγαλύτερη δυσκολία στην ανάπτυξη δέντρων απόφασης είναι όμως η υπερβολική προσαρμογή (overfitting).υπάρχουν 2 βασικά είδη κλαδέματος : 1. Προ-κλάδεμα (Pre-pruning): το δέντρο παύει να μεγαλώνει, κάποια στιγμή πριν ταξινομηθεί εξολοκλήρου το σύνολο εκμάθησης. 2. Μετά-κλάδεμα (Post-pruning): ταξινομείται εξολοκλήρου το σύνολο εκμάθησης και μετά εφαρμόζεται κλάδεμα. Πρακτικά, η δεύτερη προσέγγιση είναι πιο επιτυχημένη διότι δεν είναι εύκολο να εκτιμήσεις πότε να σταματήσει το δέντρο να μεγαλώνει. Η πιο κοινή πρακτική μετά-κλαδέματος είναι η διαχώριση του συνόλου των δεδομένων σε δυο υποσύνολα, το σύνολο εκμάθησης (training test) και το σύνολο ελέγχου (validation test). Tο πρώτο σύνολο χρησιμοποιείται για την κατασκευή του δέντρου απόφασης και το δεύτερο χρησιμοποιείται για να εκτιμήσει την επίδραση του κλαδέματος Πλεονεκτήματα δέντρων απόφασης Η κατασκευή του δέντρου απόφασης σε πραγματικά προβλήματα απαιτεί αποτρεπτικό χρόνο (είναι NP-complete πρόβλημα). Για αυτό συνήθως χρησιμοποιούνται ευριστικοί αλγόριθμοι, οι οποίοι είναι άπληστοι και δεν χρησιμοποιούν οπισθοδρόμηση. Τα ευριστικά μειώνουν κατά πολύ τον χρόνο κατασκευής με αποτέλεσμα τα δέντρα απόφασης να κλιμακώνονται σε μεγάλους όγκους δεδομένων. Η εφαρμογή τους είναι ταχύτερη από αυτή των άλλων κατηγοριοποιητών/ταξινομητών. Η ακρίβεια πρόβλεψης των δέντρων απόφασης είναι μέσα στα πλαίσια της ανοχής λάθους που θέτουμε στα προβλήματα και είναι συγκρίσιμη με την ακρίβεια άλλων κατηγοριοποιητών. Το μοντέλο που προκύπτει είναι εύκολο στην κατανόηση και ερμηνεία. Τα δέντρα απόφασης έχουν καλή ανοχή στο θόρυβο και ειδικά όταν εφαρμόζεται κλάδεμα. Τα δέντρα απόφασης μπορούν να διαχειριστούν πολυδιάστατα δεδομένα. Για κάθε μια διάσταση δημιουργείται ένα ξεχωριστό δέντρο. Ακόμη, μπορούν να διαχειριστούν οποιοδήποτε τύπο μεταβλητών (συμβολικές, αριθμητικές κ.α.) Κ-Κοντινότεροι Γείτονες (Κ-ΝΝ) Ο ταξινομητής Κ-Κοντινότερων Γειτόνων (Κ-ΝΝ) είναι ένας από τους πιο απλούς και θεμελιώδεις τρόπους κατηγοριοποίησης και είναι από τις καλύτερες επιλογές για ταξινόμηση όταν υπάρχει μικρή ή καθόλου γνώση της κατανομής των δεδομένων. Ο εν λόγω ταξινομητής αναπτύχθηκε από την ανάγκη για διακριτική ανάλυση όταν αξιόπιστες παραμετρικές εκτιμήσεις πυκνοτήτων πιθανότητας είναι άγνωστες ή δύσκολες να καθοριστούν.

25 Σε μια ανέκδοτη αναφορά της Πολεμικής Αεροπορίας των Η.Π.Α.- Σχολείο Αεροπορικής Ιατρικής το 1951, οι Fix και Hodges εισήγαγαν μια μη παραμετρική μέθοδο για κατηγοριοποίηση προτύπων. Η μέθοδος αυτή έγινε γνωστή από τότε ως κανόνας Κ-Κοντινότερων Γειτόνων (Fix & Hodges, 1951). Αργότερα το 1967, κάποιες από τις κύριες ιδιότητες του κανόνα Κ-Κοντινότερων Γειτόνων αποκαλύφθηκαν, όπως αποδείχθηκε, ότι για K=1 και, το λάθος ταξινόμησης της Κ-ΝΝ έχει ως πάνω όριο το διπλάσιο του ποσοστού σφάλματος του Bayes (Cover & Hart, 1967). Έτσι, αφού θεσπίστηκαν οι κύριες ιδιότητες της κατηγοριοποίησης Κ- Κοντινότερων Γειτόνων προτάθηκαν βελτιώσεις, όπως προσεγγίσεις με ζυγισμένες αποστάσεις (Dudani, 1976; Bailey & Jain, 1978), με soft computing (Bermejo & Cabestany, 2000) και με ασαφείς μεθόδους (Jozwik, 1983; Keller et al, 1985). Ο αλγόριθμος αποτελείται από 2 φάσεις, την φάση εκπαίδευσης και την φάση ταξινόμησης. Τα παραδείγματα εκμάθησης είναι πολυδιάστατα διανύσματα χαρακτηριστικών, καθένα από τα οποία ανήκει σε μια κλάση. 1. Στην πρώτη φάση ο αλγόριθμος απλά καταχωρεί αυτά τα διανύσματα και τα αντίστοιχα ονόματα των κλάσεων. 2. Στην φάση της ταξινόμησης, ο χρήστης ορίζει την τιμή της μεταβλητής K, και ένα μη ταξινομημένο διάνυσμα αντιστοιχείται στην κλάση που είναι η πιο συχνή μεταξύ των K δειγμάτων του συνόλου εκμάθησης, τα οποία είναι πιο κοντά σε αυτό. Εικόνα 2: Παράδειγμα του ΚΝΝ σε στοιχεία στον δισδιάστατο χώρο Συνήθως, το μέτρο απόστασης που χρησιμοποιείται για συνεχείς μεταβλητές είναι η Ευκλείδεια απόσταση. Για διακριτές μεταβλητές, όπως στην κατηγοριοποίηση κειμένου, χρησιμοποιούνται άλλες μετρικές, όπως η απόσταση Hamming.

26 Ένα μειονέκτημα του βασικού αλγορίθμου είναι η ανισοκατανομή των κλάσεων. Το φαινόμενο αυτό παρουσιάζεται όταν τα παραδείγματα μιας πιο συχνής κλάσης τείνουν να κυριεύσουν την πρόβλεψη ενός νέου παραδείγματος γιατί τείνουν να είναι τα συχνότερα στους K κοντινότερους γείτονες εξαιτίας του μεγάλου τους αριθμού. Μια μέθοδος για την αποφυγή αυτού του προβλήματος είναι η ζύγιση της κατηγοριοποίησης, λαμβάνοντας υπόψη την απόσταση του διανύσματος από κάθε έναν από τους κοντινότερους γείτονες. Η κλάση καθενός από τα Κ-κοντινότερα διανύσματα πολλαπλασιάζεται από ένα βάρος αντιστρόφως ανάλογο από την απόσταση μεταξύ του διανύσματος και του διανύσματος εκπαίδευσης Support Vector Machines (SVMs) Οι SVMs προτάθηκαν από τον Vladimir Vapnik και τους συνεργάτες του (1992) ως μια νέα μέθοδος μάθησης και στηρίζονται σε μια γενικότερη ιδέα που είχε προταθεί νωρίτερα. Στηρίζονται στη Θεωρία Στατιστικής Μάθησης και στα νευρωνικά δίκτυα τύπου Perceptron. Το μοντέλο των SVMs λειτουργεί με την ακόλουθη λογική : Εικόνα 3: Παράδειγμα επιλογής υπερεπιφάνειας σε SVMs Εάν θεωρήσουμε τα παραδείγματα ως σημεία στον χώρο, οι SVMs προσπαθούν να βρουν μια υπερεπιφάνεια (hypersurface) που να διαχωρίζει στον χώρο των παραδειγμάτων τα αρνητικά από τα θετικά παραδείγματα. Αναλυτικότερα, στις SVMs, ένα σημείο θεωρείται ως ένα διάνυσμα p διαστάσεων (μια λίστα από p αριθμούς), και θέλουμε να μάθουμε εάν μπορούμε να διαχωρίσουμε αυτά τα σημεία χρησιμοποιώντας μια υπερεπιφάνεια (p-1) διαστάσεων. Αυτό το μοντέλο καλείται

27 γραμμικός κατηγοριοποιητής. Υπάρχουν πολλές υπερεπιφάνειες που μπορούν να κατηγοριοποιήσουν τα δεδομένα. Η λογικότερη επιλογή υπερεπιφάνειας είναι αυτή που αναπαριστά την μεγαλύτερη διαχώριση, ή περιθώριο, μεταξύ δύο κλάσεων. Συνεπώς, επιλέγουμε την υπερεπιφάνεια έτσι ώστε η απόσταση από αυτή στα κοντινότερα σημεία δεομένων και από τις δύο μεριές να μεγιστοποιείται. Αν μια τέτοια υπερεπιφάνεια υπάρχει, είναι γνωστή ως υπερεπιφάνεια μέγιστου περιθωρίου και ο γραμμικός κατηγοριοποιητής που την ορίζει ως κατηγοριοποιητής μεγίστου περιθωρίου, ή ισοδύναμα, perceptron βέλτιστης σταθερότητας. Η χρησιμότητα των SVMs ανάγεται στην επίλυση πολλών προβλημάτων : κατηγοριοποίηση κειμένου και υπερκειμένου, κατηγοριοποίηση εικόνων. Πειραματικά αποτελέσματα δείχνουν πως οι SVMs επιτυγχάνουν υψηλότερη ακρίβεια αναζήτησης σε σύγκριση με παραδοσιακά σχήματα βελτίωσης ερωτημάτων έπειτα από τρεις ή τέσσερις κύκλους ανατροφοδότησης σχετικότητας, κατηγοριοποίηση πρωτεϊνών, στον τομέα της ιατρικής, με ποσοστό 90% των συστατικών να κατηγοριοποιούνται ορθά, αναγνώριση γραφής μπορεί να υλοποιηθεί βασιζόμενοι σε SVMs Μέτρα Αξιολόγησης Ταξινομητών Κατά καιρούς έχουν προταθεί πολλά διαφορετικά μέτρα για την αξιολόγηση της απόδοσης των ταξινομητών. Τα μέτρα αυτά απαιτούν μια συλλογή από αντικείμενα και ένα ερώτημα. Όλα τα μέτρα που θα περιγραφούν έχουν ως παραδοχή την εξής πρόταση : «κάθε αντικείμενο είναι γνωστό αν είναι σχετικό ή άσχετο με κάποιο ερώτημα». Ακρίβεια (Precision) Η ακρίβεια είναι το ποσοστό των αντικειμένων που ανακλήθηκαν και είναι σχετικά με τις πληροφορίες που χρειάζεται ο χρήστης. { } { } { } Το μέτρο της ακρίβειας λαμβάνει υπόψη της όλα τα ανακληθέντα αντικείμενα, αλλά μπορεί να της δοθεί ένας βαθμός αποκοπής και να εξετάζει μόνο τα ανώτερα αποτελέσματα που επιστράφηκαν από το σύστημα. Η τροποποιημένη αυτή μορφή της ακρίβειας καλείται «ακρίβεια στο». Ανάκληση (Recall) Η ανάκληση είναι το ποσοστό των αντικειμένων που είναι σχετικά με το ερώτημα και ανακλήθηκαν επιτυχώς. { } { } { }

28 Στην δυαδική κατηγοριοποίηση, η ανάκληση είναι ισοδύναμη της ευαισθησίας. Συνεπώς, μπορεί να θεωρηθεί και ως η πιθανότητα ένα σχετικό αντικείμενο να ανακληθεί από το ερώτημα. Είναι προφανές πως για να επιτύχει κάποιος ανάκληση 100% αρκεί να κάνει ένα ερώτημα και να επιστραφούν όλα τα αντικείμενα. Επομένως, η ανάκληση σαν μέτρο αξιολόγησης είναι ελλιπές και χρειάζεται να μετρήσουμε τον αριθμό των μη-σχετικών αντικειμένων επίσης, όπως για παράδειγμα με την μέτρηση της ακρίβειας. Fall-out Το μέτρο fall-out δίνει το ποσοστό των μη-σχετικών αντικειμένων που ανακλήθηκαν σε σχέση με όλα τα διαθέσιμα μη-σχετικά αντικείμενα. f u { } { } { } Στην δυαδική κατηγοριοποίηση, το fall-out σχετίζεται με την ειδικότητα (specificity) και ισούται με (1 f y). Μπορεί να θεωρηθεί και ως η πιθανότητα να ανακτηθεί ένα μη-σχετικό αντικείμενο από το ερώτημα. Είναι προφανές πως για να επιτύχει κάποιος τιμή 0% στην fall-out μετρική αρκεί να κάνει ένα ερώτημα και να μην επιστραφεί κανένα αντικείμενο. Mean Average Precision Το μέτρο της Mean Average Precision για ένα σύνολο ερωτημάτων ορίζεται ως η μέση τιμή της ακρίβειας για κάθε ερώτημα. Δηλαδή, ισχύει: q=1 A P(q) MAP, Q όπου Q είναι ο αριθμός των ερωτημάτων Μέθοδοι Αποτίμησης Ακρίβειας Ταξινομητών Συχνά είναι χρήσιμη η μέτρηση της απόδοσης του μοντέλου του ταξινομητή στο σύνολο ελέγχου γιατί ένα τέτοιο μέτρο παρέχει μια αμερόληπτη εκτίμηση του σφάλματος γενίκευσης του μοντέλου. Η ακρίβεια ή ο βαθμός σφάλματος που υπολογίζεται από το σύνολο ελέγχου μπορεί κάλλιστα να χρησιμοποιηθεί για τη σύγκριση της σχετικής απόδοσης διαφορετικών ταξινομητών στο ίδιο αντικείμενο. Ωστόσο, για να γίνει αυτό, θα πρέπει να είναι γνωστή η κατηγορία στην οποία ανήκουν τα δεδομένα ελέγχου. Παρακάτω αναλύονται δύο από τις βασικότερες τεχνικές αποτίμησης ακρίβειας των ταξινομητών Train Test Split (Holdout) Στην μέθοδο Holdout, αρχικά το σύνολο δεδομένων που είναι διαθέσιμο χωρίζεται σε δύο υποσύνολα, το σύνολο εκπαίδευσης και το σύνολο ελέγχου. Συνήθως, τα δύο αυτά σύνολα καταλαμβάνουν τα 2/3 και το 1/3 των αρχικών δεδομένων. Στη συνέχεια, δημιουργείται το μοντέλο από το σύνολο εκπαίδευσης και εκτιμάται η απόδοση του στο σύνολο ελέγχου. Η ακρίβεια του ταξινομητή μπορεί να εκτιμηθεί με βάση την ακρίβεια του παραγόμενου μοντέλου πάνω στο σύνολο ελέγχου. Q

29 Στο παρακάτω σχήμα αναλύεται περαιτέρω η μέθοδος Holdout: Χωρίζουμε το σύνολο των δεδομένων σε δύο τμήματα: 1. το σύνολο εκμάθησης (π.χ. τα 2/3 πρώτα αντικείμενα) 2. το σύνολο ελέγχου (π.χ. τα επόμενα 1/3) Δημιουργούμε το μοντέλο σύμφωνα με το σύνολο εκμάθησης Κατατάσσεται κάθε αντικείμενο του συνόλου ελέγχου Χ είναι ο αριθμός που και κατατάσσονται σωστά Ν είναι ο συνολικός αριθμός των αντικειμένων στο σύνολο ελέγχου Χ Ακρίβεια: Α Ν Η μέθοδος αυτή όμως έχει και κάποια μειονεκτήματα. Πρώτον, λιγότερα δεδομένα είναι διαθέσιμα για την κατασκευή του μοντέλου διότι ένα ποσοστό αυτών παρακρατούνται για την κατασκευή του συνόλου ελέγχου. Συνεπώς, το παραγόμενο μοντέλο δεν έχει την ακρίβεια που θα είχε αν δίνονταν όλα τα δεδομένα στην εκπαίδευση. Δεύτερον, η ακρίβεια εξαρτάται από την διάταξη των δεδομένων καθώς αν στο κομμάτι των δεδομένων ελέγχου δεν υπάρχει τιμή μιας κλάσης τότε δεν θα ελεγχθεί. Ακόμη, όσο μεγαλύτερο είναι το σύνολο εκπαίδευσης τότε η εκτίμηση της ακρίβειας που υπολογίζεται από το μικρότερο σύνολο ελέγχου είναι λιγότερο αξιόπιστη. Από την άλλη μεριά, όσο πιο μικρό είναι το μέγεθος του συνόλου εκπαίδευσης, τόσο πιο μεγάλη και η διακύμανση του μοντέλου K-Fold Cross Validation Η μέθοδος K-Fold Cross Validation αποτελεί μια επέκταση της μεθόδου Hold-out. Σύμφωνα με αυτή την μέθοδο, τα δεδομένα που είναι διαθέσιμα χωρίζονται σε K ίσα τμήματα Ένα εκ των τμημάτων ορίζεται ως σύνολο ελέγχου και τα υπόλοιπα (Κ-1) ως σύνολο εκπαίδευσης. Αυτή η διαδικασία επαναλαμβάνεται Κ φορές, έτσι ώστε το κάθε τμήμα να χρησιμοποιηθεί για έλεγχο ακριβώς μία φορά. Το συνολικό σφάλμα υπολογίζεται αθροίζοντας τα σφάλματα των Κ εκτελέσεων. Το βασικότερο πλεονέκτημα της μεθόδου είναι πως χρησιμοποιεί όσο το δυνατόν περισσότερα δεδομένα για την εκπαίδευση. Επιπλέον, τα σύνολα ελέγχου είναι αμοιβαία αποκλειόμενα και ουσιαστικά καλύπτουν όλο το σύνολο δεδομένων. Μια ειδική περίπτωση της μεθόδου είναι όταν έχουμε ίσο αριθμό διαθέσιμων δεδομένων με τη παράμετρο Κ. Η προσέγγιση αυτή ονομάζεται Leave one out και κάθε σύνολο ελέγχου περιέχει μία μόνο εγγραφή. Η προσέγγιση χρησιμοποιείται για μικρά σύνολα δεδομένων. Ακόμη, μια ειδική περίπτωση της μεθόδου είναι όταν έχουμε Κ=10. Η προσέγγιση αυτή, μετά από πολλά πειράματα θεωρείται ως μια από τις πιο αξιόπιστες για την αποτίμηση της ακρίβειας κατηγοριοποιητών. Μια ακόμη έκδοση της μεθόδου είναι η Stratified K-Fold cross-validation. Σύμφωνα με αυτή την εκδοχή της μεθόδου αν για παράδειγμα, έχουμε Κ=2, κάθε τμήμα περιέχει περίπου τις ίδιες αναλογίες των 2 τύπων κλάσεων του συνολικού όγκου δεδομένων που είναι διαθέσιμος.

30 Κ Ε Φ Α Λ Α Ι Ο 3 : Μ Η Χ Α Ν Ι Κ Η Ο Ρ Α Σ Η

31 ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ 3.1 ΤΙ ΕΙΝΑΙ Η ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ Ορισμός Μηχανική Όραση (Computer vision) ορίζεται ως το επιστημονικό πεδίο το οποίο περιλαμβάνει μεθόδους για επεξεργασία, ανάλυση και κατανόηση εικόνων και γενικά πολυδιάστατων πραγματικών δεδομένων με σκοπό την παραγωγή αριθμητικών ή συμβολικών πληροφοριών. Κεντρική ιδέα σε αυτό το πεδίο είναι η αναπαραγωγή των δυνατοτήτων της ανθρώπινης όρασης μέσω ηλεκτρονικής αντίληψης και κατανόησης της εικόνας. Η κατανόηση εικόνας μπορεί να θεωρηθεί ως η ανάλυση της συμβολικής πληροφορίας από την εικόνα με την χρήση γεωμετρικών, φυσικών, στατιστικών και μαθησιακών μοντέλων. Η μηχανική όραση έχει περιγραφεί και ως η επιχείρηση της αυτοματοποίησης και ολοκλήρωσης μιας ευρείας περιοχής διεργασιών και αναπαραστάσεων με σκοπό την αντίληψη της όρασης Εφαρμογές της Μηχανικής Όρασης Από επιστημονική άποψη, η μηχανική όραση ασχολείται με την θεωρία που υλοποιεί τα τεχνητά συστήματα τα οποία εξάγουν πληροφορία από εικόνες. Τα δεδομένα της εικόνας μπορεί να λάβουν πολλές μορφές, όπως ακολουθίες βίντεο, λήψεις από πολλαπλές κάμερες ή πολυδιάστατα δεδομένα από ένα ιατρικό σαρωτή. Από τεχνολογική άποψη, η μηχανική όραση επιδιώκει την εφαρμογή της θεωρίας και των μοντέλων της στην κατασκευή συστημάτων μηχανικής όρασης. Παραδείγματα αυτής της εφαρμογής περιλαμβάνουν συστήματα για : Έλεγχο διεργασιών, πχ ένα βιομηχανικό ρομπότ Πλοήγηση, πχ από ένα αυτοκινούμενο όχημα ή ένα ρομπότ Ανίχνευση συμβάντων, πχ για οπτική παρακολούθηση ή καταμέτρηση πλήθους Οργάνωση Πληροφοριών, πχ για δεικτοδότηση βάσεων δεδομένων εικόνων και ακολουθιών εικόνων Μοντελοποίηση αντικειμένων ή περιβάλλοντος, πχ ανάλυση ιατρικών δεδομένων ή τοπογραφική μοντελοποίηση Αλληλεπίδραση, πχ ως η είσοδος σε μια συσκευή υπεύθυνη για αλληλεπίδραση ανθρώπου - υπολογιστή Αυτόματη επίβλεψη, πχ στην κατασκευή εφαρμογών Υποπεριοχές της μηχανικής όρασης είναι η ανακατασκευή σκηνών, παρακολούθηση μέσω βίντεο, αναγνώριση αντικειμένων, μάθηση, δεικτοδότηση, εκτίμηση κίνησης και ανακατασκευή εικόνων. Με τον όρο μάθηση εννοούμε την δημιουργία και την εκπαίδευση μοντέλων έτσι ώστε να μπορούν να αναγνωρίσουν εικόνες και αντικείμενα με βάση άλλα παραπλήσια. Δηλαδή, μπορούμε για παράδειγμα να κατασκευάσουμε ένα σύστημα που μπορεί να αναγνωρίζει μνημεία ή αντικείμενα καθημερινής χρήσης μέσω

32 κατάλληλης εκπαίδευσής του. Με άλλα λόγια, η μάθηση αποτελεί μια σύνδεση της μηχανικής μάθησης με την μηχανική όραση. Συνήθως, στις εφαρμογές της μηχανικής όρασης, οι υπολογιστές είναι προγραμματισμένοι να επιλύουν ένα συγκεκριμένο πρόβλημα, αλλά οι μέθοδοι που βασίζονται σε μάθηση αρχίζουν και καταλαμβάνουν μεγαλύτερο ποσοστό στα τωρινά συστήματα. 3.2 ΑΝΊΧΝΕΥΣΗ & ΠΕΡΙΓΡΑΦΗ ΧΑΡΑΚΤΗΡΙΣΤΙΚΏΝ (FEATURE DETECTION & DESCRIPTION) Εικόνα 4: Το οπτικό αποτέλεσμα ενός αλγορίθμου εντοπισμού γωνιών (Πηγή: Wikipedia) Στην μηχανική όραση και στην επεξεργασία εικόνας, η έννοια της ανίχνευσης χαρακτηριστικών αναφέρεται στις μεθόδους που στοχεύουν σε υπολογιστικές αφαιρέσεις πληροφοριών εικόνας και στην δημιουργία τοπικών αποφάσεων για κάθε σημείο της εικόνας σχετικά με το αν υπάρχει κάποιο χαρακτηριστικό κάποιου τύπου (ακμές, γωνίες, περιοχές) στο εν λόγω σημείο ή όχι. Τα τελικά χαρακτηριστικά θα είναι υποσύνολα της εικόνας, συνήθως υπό την μορφή μεμονωμένων σημείων, συνεχών καμπύλων ή συνδεδεμένων περιοχών. Μόλις τα παραπάνω χαρακτηριστικά ανιχνευθούν, μπορεί να εξαχθεί μια τοπική περιοχή από την εικόνα. Η εξαγωγή μπορεί να χρειαστεί αρκετό υπολογιστικό χρόνο για επεξεργασία της εικόνας. Το αποτέλεσμα ονομάζεται περιγραφέας χαρακτηριστικών (feature descriptor) ή διάνυσμα χαρακτηριστικών (feature vector). Ανάμεσα στις πολλές προσεγγίσεις που χρησιμοποιούνται για την περιγραφή χαρακτηριστικών, αξιοσημείωτες είναι τα τοπικά ιστογράμματα (η SIFT είναι μια μέθοδος η οποία κάνει χρήση τοπικών ιστογραμμάτων).

33 3.2.1 SIFT Ο Scale Invariant Feature Transform (SIFT) είναι ένας περιγραφέας χαρακτηριστικών (descriptor) για ταίριασμα εικόνων, ο οποίος αναπτύχθηκε από τον David Lowe [1][2]. Ο εν λόγω περιγραφέας, όπως και πολλοί άλλοι, χρησιμοποιείται για πολλούς σκοπούς στην μηχανική όραση σχετικά με το ταίριασμα σημείων σε διαφορετικές οπτικές γωνίες μιας τρισδιάστατης σκηνής και αναγνώριση αντικειμένων στο χώρο. Ο SIFT είναι ανεξάρτητος από τους μετασχηματισμούς μετατόπισης, περιστροφής και κλιμάκωσης που θα εφαρμοστούν στην εικόνα και εύρωστος σε μέτριες αλλαγές οπτικής γωνίας και αλλαγές φωτεινότητας. Πειραματικά, ο SIFT έχει αποδειχθεί πως είναι πρακτικά χρήσιμος για ταίριασμα εικόνων και αναγνώριση αντικειμένων υπό πραγματικές συνθήκες. Το ταίριασμα εικόνων αποτελεί μια πολύ σημαντική επέκταση της μηχανικής όρασης. Η κεντρική ιδέα πίσω από το ταίριασμα εικόνων είναι η αναγνώριση αντικειμένων με βάση την ομοιότητα μεταξύ δύο εικόνων. Δηλαδή, αν έχουμε μια εικόνα ενός αντικειμένου και θέλουμε να το ταυτοποιήσουμε, αρκεί να συγκρίνουμε το διάνυσμα οπτικών χαρακτηριστικών του με εικόνες που γνωρίζουμε ότι περιέχουν το εν λόγω αντικείμενο και με βάσει την ομοιότητα τους να αποφανθούμε αν το αντικείμενο είναι όντως αυτό που ψάχνουμε ή όχι. Στην αρχική του μορφή, ο SIFT συνιστούσε μια μέθοδο για ανίχνευση σημείων ενδιαφέροντος (interest points) από μια ασπρόμαυρη εικόνα για την οποία συγκεντρώνονταν στατιστικά τοπικών διευθύνσεων κλίσης εντάσεων εικόνας, ώστε να δώσουν μια συνοπτική περιγραφή των δομών της εικόνας σε μια περιοχή γύρω από κάθε σημείο ενδιαφέροντος. Σκοπός της συγκέντρωσης αυτών των στατιστικών ήταν ότι αυτός ο περιγραφέας θα πρέπει να χρησιμοποιηθεί για ταίριασμα αντίστοιχων σημείων ενδιαφέροντος μεταξύ διαφορετικών εικόνων. Αργότερα, ο SIFT εφαρμόστηκε σε πυκνά πλέγματα εικόνας (dense grids) (ονομάστηκε dense SIFT) ο οποίος οδηγεί σε καλύτερη απόδοση σε εργασίες κατηγοριοποίησης αντικειμένων, κατηγοριοποίησης υφών και ευθυγράμμισης εικόνας. Τέλος, ο SIFT έχει επεκταθεί και σε έγχρωμες εικόνες και από δισδιάστατες εικόνες σε πολυδιάστατο video SURF Ο Speeded up robust features (SURF) είναι ένας περιγραφέας χαρακτηριστικών (descriptor), ο οποίος προτάθηκε από τον Hebert Bay, τον Tinne Tuytelaars και τον Luc van Gool το 2006 [3] και τροποποιήθηκε το 2008 από τους ίδιους σε συνεργασία με τον Andreas Ess [4]. Ο εύρωστος αυτός περιγραφέας έχει τις ρίζες του στον SIFT από την άποψη ότι είναι ένας περιγραφέας χαρακτηριστικών ο οποίος προκύπτει από στατιστικά για μια περιοχή (γειτονιά) γύρω από κάθε σημείο ενδιαφέροντος. Ο SURF όμως διαφέρει στα εξής : βασίζεται σε Haar wavelets και όχι σε εκτιμήσεις παραγώγων σε μια πυραμίδα εικόνων (octaves) τα σημεία ενδιαφέροντος αποτελούν εκτιμήσεις των ακρότατων της παραγώγου στον χώρο κλιμάκωσης του Hessian τελεστή αντί του Laplacian. Οι τιμές του διανύσματος χαρακτηριστικών στον περιγραφέα χαρακτηριστικών υπολογίζονται ως αθροίσματα και απόλυτα αθροίσματα πρώτης τάξης παραγώγων

34 Lx, Lx, Ly, Ly και όχι ως ιστογράμματα κβαντοποιημένων διευθύνσεων κλίσης. Πειραματικά, ο SURF προσεγγίζει σε απόδοση τον περιγραφέα SIFT. Όμως, λόγω του ταχύτερου υπολογισμού των Haar wavelets, ο SURF είναι γρηγορότερος. 3.3 ΣΥΓΧΏΝΕΥΣΗ ΧΑΡΑΚΤΗΡΙΣΤΙΚΏΝ Οι παραπάνω μέθοδοι εξάγουν περιγραφείς χαρακτηριστικών (feature descriptor), οι οποίοι είναι συνήθως πολυάριθμα διανύσματα με μεγάλο μήκος. Η χρήση των περιγραφέων χαρακτηριστικών αποδίδει καλά σε εφαρμογές μικρού μεγέθους αλλά σε προβλήματα μεγάλης κλίμακας, δεν είναι υπολογιστικά εφικτό να χρησιμοποιούνται τοπικοί περιγραφείς. Η συγχώνευση χαρακτηριστικών προτάθηκε με αφορμή αυτή την παρατήρηση. Συνεπώς, σκοπός της συγχώνευσης είναι η ελαχιστοποίηση του αριθμού των διανυσμάτων και η ύπαρξη τελικά ενός μόνο διανύσματος χαρακτηριστικών, έτσι ώστε να μην διατηρείται περίσσεια πληροφορίας στην μνήμη και η επεξεργασία των διανυσμάτων να είναι υπολογιστικά αποδοτική Bag of Words (BoW) Η πρώτη μέθοδος που θα αναλύσουμε είναι η Bag of Words (BoW) [5]. Αρχικά, απαιτείται η δημιουργία ενός οπτικού λεξιλογίου (codebook) από τα διάφορα χαρακτηριστικά που εξάχθηκαν με τις μεθόδους ανίχνευσης & περιγραφής χαρακτηριστικών. Το λεξιλόγιο αυτό αποτελείται από οπτικές λέξεις (codewords), οι οποίες είναι στην ουσία μια αναπαράσταση διάφορων παρόμοιων χαρακτηριστικών μεταξύ τους. Η πιο συνηθισμένη μέθοδος για την δημιουργία του λεξικού είναι η ομαδοποίηση όλων των διανυσμάτων χαρακτηριστικών, που αποτελούν το σύνολο εκμάθησης, με το αλγόριθμο K-means. Οι οπτικές λέξεις είναι στην ουσία τα κέντρα των συστάδων που εξάγονται μετά το πέρας του K-means. Ο αριθμός των συστάδων είναι και το μέγεθος του λεξιλογίου. Συνεπώς, το κάθε χαρακτηριστικό μιας εικόνας αντιστοιχίζεται σε μια οπτική λέξη διαμέσου της ομαδοποίησης και η εικόνα μπορεί να αναπαρασταθεί με ένα ιστόγραμμα των οπτικών λέξεων. Εικόνα 5: Η λογική της μεθόδου Bag of Words Συγκεκριμένα, η μέθοδος BoW συγχωνεύει ένα σύνολο L από d-διάστατα διανύσματα χαρακτηριστικών σε μια συμπαγής αναπαράσταση ενός διανύσματος V σταθερού μεγέθους. Το λεξικό C={ 1,,, } που δημιουργείται αποτελείται από τα τις k οπτικές λέξεις-κέντρα των συστάδων που εξήγαγε ο K-means άρα και το τελικό διάνυσμα V θα έχει k διαστάσεις.

35 Υπάρχουν διάφοροι τρόποι κανονικοποίησης του ιστογράμματος όπως η L1 και η L2 κανονικοποίηση. Ακόμη, τα χαρακτηριστικά του τελικού διανύσματος ζυγίζονται βάσει του idf (inverse document frequency). Το idf είναι ένα στατιστικό το οποίο στοχεύει στην ανάδειξη την σημαντικότητας μιας λέξης σε ένα έγγραφο ή σε μια ομάδα εγγράφων. Η μετρική αυξάνει ανάλογα με τον αριθμό εμφανίσεων μιας λέξης στο έγγραφο, αλλά αντισταθμίζεται από την συχνότητα της λέξης στο σύνολο των εγγράφων. Έτσι, ρυθμίζεται το γεγονός πως κάποιες λέξεις είναι γενικά πιο συχνά χρησιμοποιούμενες από άλλες. Συνήθως, όμως χρησιμοποιείται -κανονικοποίηση Vector of Locally Aggregated Descriptors (VLAD) Η μέθοδος Vector of Locally Aggregated Descriptors (VLAD) αποτελεί μια επέκταση της BoW, η οποία προτάθηκε από τους H. Jégou, M. Douze, C. Schmid, και P. Pérez [6]. Όπως και στην BoW, δημιουργείται ένα λεξικό C={ 1,,, } με την χρήση K- means και κάθε περιγραφέας χαρακτηριστικών ανατίθεται στο κοντινότερο κέντροοπτική λέξη NN(x). Η βασική ιδέα, και η ειδοποιός διαφορά της VLAD με την BoW, είναι ότι συλλέγει για κάθε οπτική λέξη τις διαφορές των διανυσμάτων, τα οποία έχουν ανατεθεί στο. Με αυτό τον τρόπο, η πληροφορία που θα έχουμε στο τελικό διάνυσμα V αναπαριστά την κατανομή των διανυσμάτων σχετικά με το κέντρο τους. Εικόνα 6 : Ανάθεση περιγραφέων χαρακτηριστικών στο κοντινότερο κέντρο. Αναλυτικά, υποθέτοντας πώς τα διανύσματα χαρακτηριστικών (περιγραφείς) είναι d- διάστατα τότε το τελικό διάνυσμα V θα έχει διαστάσεις. Κάθε διάνυσμα χαρακτηριστικών μιας εικόνας, αναπαρίσταται πλέον με το διάνυσμα στο οποίο συγκεντρώνονται οι διαφορές των περιγραφέων x που έχουν ανατεθεί στο

36 κέντρο, δηλαδή ισχύει ο παρακάτω τύπος: ( )= Aκόμη, το διάνυσμα V κανονικοποιείται με power normalization και με την κατά τον τύπο. -νόρμα Τελικώς, η βασική διαφορά μεταξύ της BoW και της VLAD είναι ότι η BoW καταγράφει τον αριθμό των περιγραφέων οι οποίοι έχουν ανατεθεί στο κάθε κέντρο, ενώ η VLAD καταγράφει την θέση τους σχετικά με το κέντρο K-Means Ο αλγόριθμος K-Means χρησιμοποιείται τόσο στην BoW όσο και στην VLAD μέθοδο για την ομαδοποίηση των χαρακτηριστικών ενός συνόλου από εικόνες για την δημιουργία ενός οπτικού λεξικού (visual vocabulary). Όπως προαναφέραμε, το λεξικό αυτό αποτελείται από οπτικές λέξεις (visual words), οι οποίες αποτελούν και τα κέντρα των ομάδων που σχηματίζει ο K-Means. Επομένως, είναι συνετό σε αυτό το σημείο, να αναλύσουμε τον βασικό αλγόριθμο του K-Means. Αρχικά, επιλέγονται K αρχικά κέντρα (παράμετρος η οποία ορίζεται από τον χρήστη). Η επιλογή του K δηλώνει στον αλγόριθμο πόσες συστάδες επιθυμεί να εξάγει ο χρήστης και κατ επέκταση ποιο θα είναι το μέγεθος του οπτικού λεξιλογίου. Κάθε σημείο στη συνέχεια αποδίδεται στο πλησιέστερο κέντρο του και κάθε σύνολο σημείων που έχει ανατεθεί σε κάποιο από τα κέντρα αποτελεί μια συστάδα. Κατόπιν, το κέντρο βάρους της κάθε συστάδας ανανεώνεται με βάσει τα σημεία που του έχουν ανατεθεί. Τα βήματα της απόδοσης και της ανανέωσης επαναλαμβάνονται μέχρι τα κέντρα των συστάδων να μην αλλάζουν. Αλγόριθμος K-Means 1. Επέλεξε Κ σημεία ως αρχικά κέντρα. 2. Επανέλαβε A. Σχημάτισε Κ συστάδες αποδίδοντας κάθε σημείο (χαρακτηριστικό) στο πλησιέστερο κέντρο του. B. Υπολόγισε ξανά το κέντρο κάθε συστάδας. 3. Μέχρι να μην αλλάξουν τα κέντρα βάρους Fisher Vector (FV) Η τελευταία μέθοδος συγχώνευσης χαρακτηριστικών που θα μελετήσουμε είναι η Fisher Vector. Η μέθοδος αυτή αρχικά προτάθηκε από τους Jaakkola και Haussler [7] ως Fisher Kernel και εφαρμόστηκε στο πεδίο της κατηγοριοποίησης εικόνων από τους Perronnin και Dance [8]. Η αναπαράσταση αυτή παρουσιάζεται ως μια επέκταση του BoW από την άποψη ότι δεν περιορίζεται στην απλή καταμέτρηση των εμφανίσεων της κάθε οπτικής λέξης, αλλά συμπεριλαμβάνει και επιπλέον

37 πληροφορίες σχετικά με την κατανομή των περιγραφέων. Η μέθοδος FV μετατρέπει το μεταβλητού μεγέθους σύνολο από χαρακτηριστικά εικόνων σε μια διανυσματική αναπαράσταση σταθερού μεγέθους, υποθέτοντας ότι τα χαρακτηριστικά ακολουθούν κάποια στατιστική κατανομή, η οποία κατασκευάστηκε με βάση κάποιο σύνολο εκπαίδευσης. Το τελικό διάνυσμα (δηλαδή το Fisher Vector) είναι μια αναπαράσταση της διαβάθμισης της ομοιότητας του δείγματος σύμφωνα με τις παραμέτρους της κατανομής αυτής, κανονικοποιημένη ως προς την ανάστροφη τετραγωνική ρίζα του πίνακα πληροφοριών Fisher. Στην ουσία, το τελικό διάνυσμα δίνει την κατεύθυνση στην οποία η κατανομή εκμάθησης πρέπει να τροποποιηθεί για να ταιριάξει καλύτερα στα παρατηρούμενα δεδομένα. Με άλλα λόγια, η FV περιγράφει πώς το σύνολο των χαρακτηριστικών αποκλίνει από μια μέση κατανομή των περιγραφέων η οποία δημιουργήθηκε από ένα παραμετρικό στατιστικό μοντέλο. 3.4 PCA (PRINCIPAL COMPONENT ANALYSIS) Θέλοντας να μειώσουμε το μέγεθος των διανυσμάτων που παράγεται από τις BoW και VLAD συνήθως χρησιμοποιούμε την μέθοδο PCA. Η μέθοδος PCA είναι μια στατιστική μέθοδος, η οποία χρησιμοποιεί ορθογώνιο μετασχηματισμό, για να μετατρέψει ένα σύνολο από παρατηρήσεις με πιθανώς συσχετισμένες μεταβλητές σε ένα σύνολο τιμών από γραμμικά ανεξάρτητες μεταβλητές που ονομάζονται κύριες συνιστώσες (principal components). Ο αριθμός των κύριων συνιστωσών είναι μικρότερος ή ίσος από τον αριθμό των αρχικών μεταβλητών. Ο μετασχηματισμός αυτός είναι ορισμένος με τέτοιο τρόπο έτσι ώστε η πρώτη κύρια συνιστώσα να έχει την μεγαλύτερη πιθανή διακύμανση και κάθε σειριακά ακόλουθη συνιστώσα έχει την υψηλότερη δυνατή διακύμανση υπό τον περιορισμό ότι είναι ορθογώνια προς (ασυσχέτιστη με) τις προηγούμενες συνιστώσες. Η σημαντικότητα της μεθόδου αυτής συνίσταται στο γεγονός πως μειώνει τις διαστάσεις του χώρου πληροφορίας με μικρή απώλεια στην ακρίβεια. Η PCA είναι η απλούστερη πολυπαραγοντική ανάλυση βασισμένη σε ιδιοδιανύσματα. Συχνά, η μέθοδος αυτή μπορεί να χαρακτηριστεί ως ένας τρόπος ανάδειξης της εσωτερικής δομής των δεδομένων έτσι ώστε να εξηγεί καλύτερα την διακύμανση των δεδομένων. Εάν ένα σύνολο δεδομένων με πολλές μεταβλητές οπτικοποιείται ως ένα σύνολο συντεταγμένων σε ένα χώρο δεδομένων υψηλών διαστάσεων, η PCA μπορεί να διαθέσει στον χρήστη μια εικόνα χαμηλότερης διάστασης, μια προβολή ή μια «σκιά» του συνόλου δεδομένων από μια πιο πληροφορικά πλούσια οπτική γωνία. Αυτό επιτυγχάνεται με την χρήση μερικών εκ των πρώτων κύριων συνιστωσών, έτσι ώστε η διαστασιμότητα των μετασχηματισμένων δεδομένων να έχει μειωθεί. Έστω το σύνολο δεδομένων μας (1), ( ), ( ),, ( ) Ο αλγόριθμος για την εφαρμογή της PCA αποτελείται από 5 βασικά βήματα: 1. Προ-επεξεργασία: Κανονικοποίηση των δεδομένων. Αφαιρείται ο μέσος όρος μ j από την κάθε διάσταση των δεδομένων. 1 μ j m ( ) j =1 Με αυτό τον τρόπο παράγεται ένα σύνολο δεδομένων του οποίου ο μέσος είναι μηδέν. Στην περίπτωση που τα χαρακτηριστικά έχουν διαφορετικές κλίμακες,

38 κλιμακώνουμε τα χαρακτηριστικά έτσι ώστε να έχουν συγκρίσιμο εύρος τιμών. 2. Υπολογίζεται ο πίνακας συνδιασποράς: Σ n n n 1 m ( ( ) )( ( ) ) T, όπου διαστάσεις του αρχικού συνόλου δεδομένων Ο πίνακας Σ n n έχει ως δεδομένα τις τιμές της συνδιασποράς μεταξύ δύο διαφορετικών διαστάσεων. 3. Υπολογίζονται τα ιδιοδιανύσματα και οι ιδιοτιμές του πίνακα συνδιασποράς. 4. Επιλογή συνιστωσών και δημιουργία ενός διανύσματος χαρακτηριστικών: Αφού εξαχθούν τα ιδιοδιανύσματα από τον πίνακα συνδιασποράς, το επόμενο βήμα είναι να ταξινομηθούν κατά φθίνουσα σειρά βάσει των ιδιοτιμών σε ένα πίνακα U n n. Με αυτό τον τρόπο οι συνιστώσες θα είναι ταξινομημένες κατά σημαντικότητα. Ο αριθμός των ιδιοδιανυσμάτων που θα επιλεχθούν θα είναι και ο αριθμός των διαστάσεων του νέου συνόλου δεδομένων. Ο σκοπός αυτού n του βήματος είναι να κατασκευαστεί ένα διάνυσμα χαρακτηριστικών U redu e (πίνακας διανυσμάτων). Αποθηκεύουμε τις πρώτες k στήλες του πίνακα U n n n στον U redu e. 5. Εξαγωγή του νέου συνόλου δεδομένων: Z (U redu e ) T X, όπου X n 1 ο πίνακας των αρχικών δεδομένων και Z 1 Ο πίνακας Z 1 είναι η ελαχιστοποιημένη έκδοση του X n 1 με k χαρακτηριστικά. =1 Η ανακατασκευή από τη συμπιεσμένη αναπαράσταση Z εξής: X r e U redu e Z 1 μπορεί να επιτευχτεί ως Δεν παίρνουμε την αρχική αναπαράσταση των δεδομένων μας X αλλά παίρνουμε μια πολύ καλή προσέγγιση X r e καθώς από την φύση της η PCA λειτουργεί με αυτό τον τρόπο.

39 Κ Ε Φ Α Λ Α Ι Ο 4 : Υ Λ Ο Π Ο Ι Η Σ Η & Π Ε Ι Ρ Α Μ ΑΤ Ι Κ Α Α Π Ο Τ Ε Λ Ε Σ Μ ΑΤ Α

40 ΥΛΟΠΟΙΗΣΗ & ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 4.1 ΓΕΝΙΚΑ ΓΙΑ ΤΗΝ ΕΦΑΡΜΟΓΗ Η εφαρμογή που υλοποιήθηκε στα πλαίσια της παρούσας πτυχιακής ονομάστηκε Recon και το εικονίδιο της φαίνεται στην διπλανή εικόνα. Η ανάπτυξη της εφαρμογής έγινε στην έκδοση Android OS (Ice Cream Sandwich) αλλά δοκιμάστηκε και στην νεότερη έκδοση (Kit-Kat). Το περιβάλλον ανάπτυξης κώδικα που χρησιμοποιήθηκε είναι το IntelliJ IDEA και η έκδοση Java Development Kit 7. Εικόνα 7: Το εικονίδιο της εφαρμογής 4.2 ΥΛΟΠΟΙΗΣΗ Η εφαρμογή βασίστηκε στην έξης λογική: 1) Κατασκευή ενός συνόλου εκπαίδευσης από εικόνες των σημείων ενδιαφέροντος που θέλουμε να συμπεριλάβουμε στην εφαρμογή. 2) Δημιουργία μια βάσης με διανύσματα χαρακτηριστικών από ένα σύνολο εκπαίδευσης με εικόνες από τα διάφορα σημεία ενδιαφέροντος της Θεσσαλονίκης και διάθεση της βάσης αυτής στην εφαρμογή. 3) Εξαγωγή διανύσματος χαρακτηριστικών της εικόνας που παρέχει ο χρήστης 4) Σύγκριση του διανύσματος αυτού με αυτά της βάσης και εύρεση των πιο όμοιων. H σύγκριση αυτή γίνεται σύμφωνα με τον αλγόριθμο Κ- Πλησιέστερων Γειτόνων (K-NN). Με βάση την κλάση στην οποία ανήκουν τα πιο όμοια αναθέτουμε και στην εικόνα του χρήστη την ίδια κλάση. Παρακάτω θα αναλύσουμε την λογική αυτή λεπτομερώς. 1) Αρχικά, η συλλογή εικόνων έγινε με την χρήση των APIs από κάποιες ιστοσελίδες κοινωνικής δικτύωσης, οι οποίες δίνουν την δυνατότητα μαζικής αναζήτησης εικόνων βάσει γεωγραφικών δεδομένων καθώς και βάση ετικετών (tags). Οι ιστοσελίδες που χρησιμοποιήθηκαν είναι οι Flickr, Pinterest, Instagram και Tumblr. Οι δύο πρώτες βοήθησαν περισσότερο στον σκοπό της εφαρμογής καθώς οι φωτογραφίες που επιστράφηκαν δεν εστίαζαν σε πρόσωπα, όπως αυτές του Instagram και του Tumblr. Η σημαντικότητα της επιλογής εικόνων, οι οποίες δεν εστιάζουν σε πρόσωπα είναι καθοριστική για τα αποτελέσματά μας, καθώς τα χαρακτηριστικά που εξάγονται θα αποτελούνται κατά κύριο λόγω από τα POIs που θέλουμε να αναγνωρίσουμε και όχι από διαφορά πρόσωπα. Με άλλα λόγια, απομακρύνουμε έμμεσα ένα είδος «θορύβου» από τις εικόνες. Το σημείο αυτό είναι καθοριστικό, καθώς δεν απαιτείται η αποφυγή φωτογραφιών που περιέχουν ανθρώπους, διότι δεν αποτελεί ρεαλιστικό σενάριο στην καθημερινή χρήση της εφαρμογής, απλώς πρέπει να είμαστε προσεκτικοί με την εστίαση της εικόνας για την αποφυγή λανθασμένης ταύτισης αργότερα.

41 Τα APIs που χρησιμοποιήθηκαν είναι υλοποιημένα σε JAVA. Παράδειγμα χρήσης ενός από αυτά APIs (Flickr) παρέχεται παρακάτω: Εικόνα 8 : Χρήση Flickr API για την συλλογή εικόνων Όπως φαίνεται παραπάνω, δημιουργούμε ένα αντικείμενο της κλάσης Flickr με παραμέτρους τα API_KEY και SHARED_KEY, τα οποία απαιτούνται για την χρήση του FLICKR API. Δίνονται αφού ο χρήστης του API δηλώσει την εφαρμογή που θέλει να υλοποιήσει στην ιστοσελίδα του Flicker. Κατόπιν δημιουργούμε ένα αντικείμενο της κλάσης SearchParameters και θέτουμε τις συντεταγμένες στο σημείο ενδιαφέροντος από το οποίο θέλουμε να ανακτήσουμε εικόνες, την ακρίβεια της αναζήτησης (ο αριθμός 16 στην ακρίβεια σύμφωνα με το Flicker αποτελεί την επιστροφή αποτελεσμάτων σε επίπεδο οδού μεγάλη ακρίβεια). Ακόμη, θέτουμε την ακτίνα αναζήτησης στο 1 χλμ για την μεγαλύτερη δυνατή ακρίβεια στα αποτελέσματα καθώς οι εικόνες που θα επιστραφούν θα είναι όσο το δυνατόν κοντύτερα στο POI. Τέλος, καλούμε την συνάρτηση search με τις παραπάνω συνθήκες αναζήτησης και ορίζουμε να επιστραφούν 500 αποτελέσματα (είναι το μέγιστο δυνατό). Τα αποτελέσματα αυτά τα αποθηκεύουμε σαν εικόνες στον υπολογιστή. Ακόμη, για μερικά από τα POIs, τα οποία δεν είναι ευρέως γνωστά συλλέχθηκαν φωτογραφίες από κινητό τηλέφωνο. Με αυτό τον τρόπο το τελικό σύνολο είχε ποικιλία σε αναλύσεις εικόνας καθώς και φωτογραφίες υπό διαφορετικές καιρικές συνθήκες και διαφορετικές ώρες.

42 Με την συλλογή εικόνων υπό διαφορετικές ώρες και καιρικές συνθήκες, προσπαθούμε να επιτύχουμε ανεξαρτησία της αναγνώρισης κάποιου σημείου ενδιαφέροντος από αυτές τις συνθήκες. Δηλαδή, με την συλλογή ενός ικανοποιητικού αριθμού εικόνων για κάθε σημείο υπό διαφορετικές συνθήκες η αναγνώριση δεν θα επηρεάζεται καθώς μια παραπλήσια εικόνα θα υπάρχει ήδη στην βάση μας. Το τελικό σύνολο εκπαίδευσης της παρούσας πτυχιακής είχε 459 εικόνες και 17 σημεία ενδιαφέροντος. Τα σημεία που συμπεριλάβαμε είναι τα εξής: i. Άγαλμα Αριστοτέλη ii. Άγαλμα Καραμανλή iii. Άγαλμα Μεγάλου Αλεξάνδρου iv. Άγαλμα Φιλίππου Β v. Άγαλμα Ελευθέριου Βενιζέλου vi. Ιερός Ναός Αγίου Δημητρίου vii. Θέατρο Εταιρείας Μακεδονικών Σπουδών viii. Η Λουόμενη ix. Αψίδα του Γαλέριου (Καμάρα) x. Λευκός Πύργος xi. Μνημείο του Εβραϊκού Ολοκαυτώματος xii. Ομπρέλες του Ζογγολόπουλου xiii. Πύργος του ΟΤΕ xiv. Ροτόντα (Ιερός Ναός Αγίου Γεωργίου) xv. Βασιλικό Θέατρο xvi. Κτήριο ΧΑΝΘ xvii. Ο Υδρόγειος Κύβος (The Earth Cube) 2) Έπειτα, έχοντας δημιουργήσει το παραπάνω σύνολο εκπαίδευσης κάναμε εξαγωγή των χαρακτηριστικών για κάθε εικόνα και καταγράψαμε σε ένα αρχείο εγγραφές της μορφής: Αναγνωριστικό κλάσης Όνομα κλάσης Διάνυσμα χαρακτηριστικών Το αναγνωριστικό της κλάσης είναι ένας αριθμός που μας βοηθά στην υλοποίηση για μεγαλύτερη απλότητα στον κώδικα. Για κάθε εικόνα του συνόλου εκπαίδευσης χρησιμοποιήθηκε η VLAD+SURF 1 αναπαράσταση [9][10]. Συγκεκριμένα ακολουθήθηκαν τα παρακάτω βήματα: Κλιμάκωση της εικόνας αν είναι απαραίτητο. Συγκεκριμένα, η κάθε εξαγωγή γίνεται με βάση ένα όριο ανάλυσης. Δηλαδή, δίδονται 3 δυνατές αναλύσεις (384x512, 512x768, 768x1024) και ανάλογα αν ο αριθμός των εικονοστοιχείων της εικόνας που πρόκειται να επεξεργαστεί είναι μεγαλύτερος από αυτό της δοθείσας ανάλυσης, τότε η εικόνα κλιμακώνεται αλλά με διατήρηση της αναλογίας διαστάσεων. Στην αντίθετη περίπτωση, η εικόνα δίδεται στην 1 socialsensor/multimedia-indexing

43 συνάρτηση για την εξαγωγή χαρακτηριστικών SURF ως έχει. Για την υλοποίηση βασιστήκαμε σε ένα εξαιρετικό άρθρο από την σελίδα προγραμματιστών της Sony Ericsson. ( Η κλιμάκωση είναι απαραίτητη καθώς όσο μεγαλύτερο το μέγεθος της εικόνας τόσο περισσότερα χαρακτηριστικά θα εξαχθούν, δαπανώντας περισσότερο υπολογιστικό χρόνο κάτι που θα έκανε την εφαρμογή να καθυστερεί. Ακόμη, με την κλιμάκωση αποφεύγουμε την δέσμευση μεγάλου ποσοστού της περιορισμένης μνήμης της εφαρμογής. Αυτό μας προφυλάσσει από σφάλματα Out Of Memory καθώς η εικόνα που φορτώνεται βρίσκεται στις επιτρεπτές διαστάσεις. Εξαγωγή χαρακτηριστικών μέσω του ανιχνευτή χαρακτηριστικών SURF σε ασπρόμαυρες εικόνες. Η χρήση του SURF έγινε μέσω της βιβλιοθήκης BoofCV. Υπάρχει ειδική έκδοση για χρήση σε AndroidOS, η οποία χρησιμοποίει ειδικές βιβλιοθήκες του Android για την επιτάχυνση και την πιο ομαλή εκτέλεση των απαιτούμενων διεργασιών. Στον παρακάτω πίνακα αναφέρουμε κάποια στατιστικά για την εξαγωγή SURF χαρακτηριστικών σε κινητό με μονοπύρηνο επεξεργαστή χρονισμένο στα 1GHz και 512 MB μνήμη RAM : Επιτρεπτή ανάλυση 384x x x1024 Αριθμός SURF χαρακτηριστικών Χρόνος εξαγωγής χαρακτηριστικών 3484 ms 7259 ms ms Πίνακας 1: Στατιστικά για την εξαγωγή SURF σε κινητό Παραπάνω φαίνεται ξεκάθαρα πως ο χρόνος αυξάνει όσο μεγαλύτερη είναι η επιτρεπτή ανάλυση καθώς όσο μεγαλύτερη ανάλυση τόσο μεγαλύτερος αριθμός χαρακτηριστικών. Τα παραπάνω στοιχεία αποτελούν ένα μέσο όρο. Αλλά με την χρήση πιο σύγχρονων και γρηγορότερων συσκευών οι χρόνοι εξαγωγής μειώνονται. Αυτή η διαφοροποίηση ήταν η αφορμή για την εισαγωγή ενός μενού επιλογής διαστάσεων από τον χρήστη καθώς αν διαθέτει μια καινούργια συσκευή μπορεί να χρησιμοποιήσει την μέγιστη ανάλυση και να επιτύχει καλύτερα αποτελέσματα αναγνώρισης. Έπειτα, κάνουμε συγχώνευση των εν λόγω χαρακτηριστικών με βάση το μοντέλο VLAD και codebooks που κατασκευάστηκαν από τις εικόνες του συνόλου εκπαίδευσης. Συγκεκριμένα σε αυτό το βήμα χρησιμοποιούμε κάποια codebooks τα οποία υπολογίστηκαν με βάση το σύνολο εκμάθησης και από χαρακτηριστικά SURF μήκους 64. Τα codebooks που χρησιμοποιήσαμε στην εφαρμογή αποτελούνται από 128 centroids και είναι γραμμένα σε binary αρχεία. Στην ουσία σε αυτό το βήμα, γίνεται η σύνδεση της εικόνας που παρέχουμε για αναγνώριση, σύμφωνα με το λεξιλόγιο (codebook) που παρέχεται, με το σύνολο εκπαίδευσης. Κατόπιν, εφαρμόζουμε μείωση των διαστάσεων του διανύσματος

44 χαρακτηριστικών μέσω της μεθόδου PCA. Ο πίνακας μετασχηματισμού σε PCA υπολογίστηκε και αυτός βάσει των εικόνων του συνόλου εκπαίδευσης. Το διάνυσμα που προκύπτει από όλη την διαδικασία εγγράφεται σε ένα αρχείο με την μορφή που αναφέραμε παραπάνω. 3) Κατόπιν, όταν ο χρήστης φορτώσει μια εικόνα αυτό που γίνεται είναι η εξαγωγή χαρακτηριστικών ακριβώς με τον ίδιο τρόπο, όπως έγινε και με τις εικόνες του συνόλου εκπαίδευσης. 4) Το διάνυσμα αυτό συγκρίνεται με αυτά της βάσης μέσω ενός αλγορίθμου κατηγοριοποίησης (K-NN) και ανάλογα με το αποτέλεσμα επιλέγεται η υπερισχύουσα κλάση. Μία σημαντική προσθήκη στην διαδικασία αυτή είναι η εισαγωγή ορίων (thresholds) εμπιστοσύνης στα αποτελέσματα κάθε εικόνας προς κατηγοριοποίηση. Σε κάθε εικόνα που εισάγει ο χρήστης, όπως αναφέραμε, υπολογίζονται οι 10 πλησιέστεροι γείτονες του. Με βάση την κλάση του κάθε γείτονα υπολογίζεται η κατανομή πιθανότητας της κάθε κλάσης για τα 10 αποτελέσματα που επιστράφηκαν. Για κάθε κλάση έχουν υπολογιστεί και υπάρχουν στο αρχείο «class_info.txt» τρία όρια. Το κάθε όριο αντιστοιχεί σε μια από τις αναλύσεις εικόνας που παρέχουμε και έχει υπολογιστεί μέσω του Weka. Το όριο αυτό είναι μια τιμή-όριο. Βρίσκουμε την υπερισχύουσα κλάση στα 10 αποτελέσματα και αν η εμπιστοσύνη αυτής είναι μεγαλύτερη από το εν λόγω όριο τότε επιστρέφουμε πληροφορίες για την κλάση. Αν η εμπιστοσύνη της κλάσης είναι μικρότερη από το όριο, τότε δεν αποδεχόμαστε την κλάση αυτή ως υπερισχύουσα και ο χρήστης καλείται να φορτώσει άλλη εικόνα. Ο υπολογισμός των ορίων γίνεται με την δημιουργία ενός αρχείου.arff που περιέχει τα δεδομένα της βάσης αναφοράς μας σε κατάλληλη μορφή για επεξεργασία από το Weka ([διάνυσμα εικόνας, όνομα κλάσης]). Φορτώνοντας το αρχείο στο Weka κάνουμε ομαδοποίηση των δεδομένων της βάσης με την βοήθεια του IBK (κοινώς KNN) και με την χρήση 10 Fold Cross-Validation: Εικόνα 9: Αποτέλεσμα Weka σε ΙΒk με k=10 και 10 cross Fold Validation Αφού εμφανιστούν τα αποτελέσματα της ομαδοποίησης το Weka μας δίνει

45 την δυνατότητα να κάνουμε μια ανάλυση κόστους/κέρδους στα αποτελέσματα του IBK. Με την επιλογή Cost/Benefit analysis και μίας από τις διαθέσιμες κλάσεις (π.χ. agalma_aristotelh) της βάσης μας εμφανίζεται το παρακάτω παράθυρο. Εικόνα 10: Υπολογισμός Thresholds στο Weka Στον πίνακα Cost Matrix επιβαρύνουμε με κόστος 1.0 τα False Positive και τα False Negative και πατώντας το κουμπί Minimize Cost/Benefit παράγεται ένας νέος Confusion Matrix. Ο νέος Confusion Matrix έχει την καλύτερη ακρίβεια για τον Cost Matrix που ορίσαμε. Ακόμη παράγεται μια τιμή Score Threshold, η οποία αποτελεί την τιμή-όριο που χρησιμοποιούμε για την αποδοχή ή την απόρριψη μιας κλάσης. Η τιμή αυτή υποδεικνύει πως η πιθανότητα σωστών προβλέψεων της κλάσης (εμπιστοσύνη) αυτής θα πρέπει να είναι μεγαλύτερη από το όριο, έτσι ώστε η πρόβλεψη της κλάσης να θεωρηθεί ορθή. 4.3 ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Στην υλοποίηση μας επιλέξαμε να χρησιμοποιήσουμε 3 επιτρεπτές διαστάσεις λόγω των παραπάνω. Οι αναλύσεις αυτές είναι οι : 384 x x x1024

46 Η μέθοδος κατηγοριοποίησης που χρησιμοποιήσαμε για την επιλογή της υπερισχύουσας κλάσης στα διανύσματα χαρακτηριστικών είναι αυτή των K Πλησιέστερων Γειτόνων. Επιλέξαμε την συγκεκριμένη τεχνική λόγω της απλότητας της (η οποία καθιστά εύκολη την υλοποίησή του σε Android OS χωρίς την χρήση επιπλέον βιβλιοθηκών) και της ανταγωνιστικής του απόδοσης. Παρακάτω φαίνονται κάποια πειράματα με τα χαρακτηριστικά που αναφέραμε προηγουμένως. Τα αποτελέσματα των πειραμάτων εξάχθηκαν με την βοήθεια του εργαλείου Weka και αφορούν τις εικόνες του συνόλου εκμάθησης. Ακόμη αξίζει να σημειωθεί πως σε όλα τα πειράματα εξάχθηκαν SURF χαρακτηριστικά με μήκος 64. numcomponents=256 numofcentroids=32 IB1 2 numcomponents=128 numofcentroids=64 numcomponents=64 numofcentroids=128 Image Resolution 384x x x x x x x x x1024 Correctly Classified Instances 41,3943% 47,9303% 49,0196% 72,9847% 77,9956% 77,7778% 81,2636% 85,1852% 83,4423% PRC Area 0,282 0,326 0,337 0,573 0,64 0,639 0,69 0,748 0,727 Πίνακας 2: Πειραματικά αποτελέσματα για 1-Πλησιέστερο Γείτονα (IB1) Image Resolution Correctly Classified Instances PRC Area numcomponents=256 numofcentroids=32 IB10 3 numcomponents=128 numofcentroids=64 numcomponents=64 numofcentroids= x x x x x x x x x ,4401% 38,9978% 36,8192% 69,7168% 69,0632% 69,4989% 82,1351% 82,5708% 86,9281% 0,404 0,507 0,5 0,746 0,754 0,777 0,858 0,869 0,907 Πίνακας 3: Πειραματικά αποτελέσματα για 10-Πλησιέστερους Γείτονες (IB10) Σύμφωνα με τις παραπάνω μετρήσεις βλέπουμε πως στην περίπτωση του IB1 και του IB10 έχουμε την καλύτερη επιλογή από άποψη ακρίβειας στις κίτρινες επιλογές. Η καλύτερη επιλογή φαίνεται καθώς έχει και την μεγαλύτερη ακρίβεια αλλά και την μεγαλύτερη κάλυψη στην PRC περιοχή. Η αρχική μας επιλογή ήταν να 2 Ονομασία του Weka για τον αλγόριθμο Κ-ΝΝ με Κ=1 3 Ονομασία του Weka για τον αλγόριθμο Κ-ΝΝ με Κ=10

47 χρησιμοποιήσουμε ΙΒ10 με 64 συνιστώσες στην PCA και codebooks με 128 centroids. Η παραπάνω επιλογή είναι σχετικά χρονοβόρα (χρόνος > 10 δευτερόλεπτων) σε παλαιότερες συσκευές. Συνεπώς, δοκιμάσαμε και προσθέσαμε την επιλογή στον χρήστη να επιλέξει ο ίδιος την ανάλυση που επιθυμεί ανάλογα με την συσκευή του και ανάλογα με τη επιλογή του να μειώνεται η ακρίβεια κατά κάποιο μικρό σχετικά ποσοστό αλλά να μειώνεται και ο χρόνος επεξεργασίας. Οι μετρήσεις ακρίβειας για αυτή την πολιτική φαίνονται παρακάτω: IB10 numcomponents=64_numofcentroids=128 Image Resolution 384x x x1024 Correctly Classified Instances 77,9956% 84,0959% 86,9281% PRC Area 0,842 0,884 0,907 Η σημαντική λεπτομέρεια στις παραπάνω μετρήσεις είναι πως έγιναν με τα codebooks και τον πίνακα PCA της διάστασης 768x1024. Αυτό έγινε κυρίως για τη διατήρηση του μεγέθους της εφαρμογής σε λογικά πλαίσια καθώς και την αποφυγή φόρτωσης διαφορετικών αρχείων κάθε φορά που ο χρήστης αλλάζει ανάλυση. Παρόλα αυτά παρατηρούμε πως για το δικό μας σύνολο εκπαίδευσης τα αποτελέσματα ακρίβειας είναι καλύτερα με αυτή την τροποποίηση σε σύγκριση με τον πιο πάνω πίνακα για τις αντίστοιχες διαστάσεις. 4.4 ΧΡΗΣΗ ΕΦΑΡΜΟΓΗΣ Η εφαρμογή μπορεί να εκκινήσει είτε άμεσα από το εικονίδιό της είτε έμμεσα από κάποια εφαρμογή που αναγνωρίζει intents από εικόνες (σε γενικές γραμμές εφαρμογές προβολής φωτογραφιών). Όταν ανοίγει η εφαρμογή εμφανίζεται η παρακάτω οθόνη υποδοχής (splash screen). Εικόνα 11: Οθόνη υποδοχής

48 Η αρχική οθόνη μετά από λίγα δευτερόλεπτα εξαφανίζεται και ο χρήστης μπορεί πλέον να χρησιμοποιήσει την εφαρμογή. Η κύρια οθόνη παρουσιάζεται και ο χρήστης έχει τις εξής επιλογές: Φόρτωση εικόνας από την Συλλογή Άνοιγμα κάμερας Αναγνώριση εικόνας Πίνακας 4: Επιλογές εφαρμογής Οι πρώτες 2 δύο επιλογές, δίνουν στον χρήστη τη δυνατότητα να φορτώσει μια εικόνα από την μνήμη σε περίπτωση που είχε φωτογραφήσει κάποια σημεία ενδιαφέροντος προηγουμένως ή να φωτογραφήσει μέσα από την εφαρμογή το εν λόγω σημείο. Εικόνα 12: Αρχική οθόνη εφαρμογής Ακόμη, ο χρήστης μπορεί να φορτώσει την εικόνα μέσω μιας εφαρμογής προβολής εικόνων (π.χ. εφαρμογή Gallery) όπως αναφέραμε. Ο χρήστης πρέπει απλά να πατήσει το κουμπί της κοινής χρήσης και να επιλέξει την εφαρμογή Recon. Εφόσον, ο χρήστης έχει επιλέξει την φωτογραφία που θέλει να εξετάσει με την εφαρμογή, η εφαρμογή θα έχει την παρακάτω μορφή:

49 Εικόνα 13: Εμφάνιση εφαρμογής μετά από επιλογή εικόνας Κατόπιν, ο χρήστης πατάει το κουμπί και αφού τελειώσει η διαδικασία θα εμφανιστούν πληροφορίες για το εν λόγω σημείο ενδιαφέροντος. Εικόνα 14: Πληροφορίες για το POI Όπως φαίνεται, οι πληροφορίες περιλαμβάνουν το επίσημο όνομα του POI, μια αντιπροσωπευτική εικόνα και μια σύντομη περιγραφή με ιστορικά στοιχεία. Στο κάτω μέρος υπάρχει ένα κουμπί, το οποίο όταν πατηθεί ανοίγει την εφαρμογή Χάρτες και βάζει ένα δείκτη στον χάρτη στην ακριβή θέση του POI.

50 Τέλος, αν ο χρήστης πατήσει το πλήκτρο μενού στην κύρια οθόνη της εφαρμογής θα δει 4 επιλογές. Εικόνα 15: Μενού επιλογών εφαρμογής Η επιλογή How to use περιλαμβάνει οδηγίες χρήσεις και κάποιες χρήσιμες πληροφορίες για καλύτερα αποτελέσματα. Η επιλογή About περιέχει πληροφορίες για τους συμμετέχοντες στην κατασκευή της εφαρμογής. Η επιλογή Supported POIs περιέχει μια λίστα με όλα τα διαθέσιμα σημεία ενδιαφέροντος, τα οποία μπορεί να αναγνωρίσει η εφαρμογή. Τέλος, η επιλογή Settings περιέχει κάποιες ρυθμίσεις οι οποίες μπορούν να επηρεάσουν την ακρίβεια και τον χρόνο αναγνώρισης ενός σημείου ενδιαφέροντος. Εικόνα 16: Διαθέσιμες ρυθμίσεις Σύμφωνα και με την παραπάνω εικόνα, ο χρήστης μπορεί να ρυθμίσει την ανάλυση της εικόνας που θα αναλυθεί καθώς και την ενεργοποίηση ή την απενεργοποίηση των ορίων εμπιστοσύνης στο τελικό αποτέλεσμα. Αν απενεργοποιηθούν τα όρια τότε στον χρήστη θα εμφανιστούν πληροφορίες για την κλάση με την μεγαλύτερη εμπιστοσύνη

51 χωρίς να ελεγχθεί αν η εν λόγω εμπιστοσύνη ξεπερνά το όριο της συγκεκριμένης κλάσης.

52

53 Κ Ε Φ Α Λ Α Ι Ο 5 : Ε Ρ ΓΑ Λ Ε Ι Α Π Ο Υ Χ Ρ Η Σ Ι Μ Ο Π Ο Ι Η Θ Η Κ Α Ν

54 ΕΡΓΑΛΕΙΑ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΑΝ 5.1 ANDROID OS Για την κατασκευή και λειτουργία της εφαρμογής χρησιμοποιήθηκε η πλατφόρμα ανοιχτού λογισμικού Android. Εικόνα 17: Το λογότυπο του Android OS Τι είναι το ANDROID OS Το Android OS είναι ένα λειτουργικό σύστημα βασισμένο στον πυρήνα του Linux. Το περιβάλλον χρήσης του σχεδιάστηκε κυρίως για κινητές συσκευές με οθόνη αφής, όπως έξυπνα κινητά (smartphones) και tablets, με την χρήση εισόδων από επαφή, η οποίες έχουν σαν οπτικό αποτέλεσμα την μίμηση πραγματικών ενεργειών, όπως η κύλιση, με βασικό σκοπό τον χειρισμό αντικειμένων οθόνης και πληκτρολογίων οθόνης. Αν και αρχικά σχεδιάστηκε για είσοδο με αφή, έχει χρησιμοποιηθεί σε τηλεοράσεις, παιχνιδοκονσόλες, ψηφιακές κάμερες και άλλες ηλεκτρονικές συσκευές. Από το 2011, το Android είναι το περισσότερο εγκατεστημένο λειτουργικό για κινητές συσκευές και από το 2013, οι συσκευές του καταλαμβάνουν μεγαλύτερο μερίδιο της αγοράς σε σύγκριση με τα λειτουργικά των άλλων εταιριών. Συνεπώς, είναι ένα λειτουργικό, το οποίο είναι ραγδαία εξελισσόμενο και οι προοπτικές χρήσης του συνεχώς αυξάνουν.

55 Ο πηγαίος κώδικας του Android OS κυκλοφόρησε από την Google υπό την προστασία αδειών ανοιχτού κώδικα, παρόλο που οι περισσότερες συσκευές εν τέλει συνδυάζουν τον ανοιχτό κώδικα και ιδιόκτητο λογισμικό. Το λογισμικό αρχικά αναπτύχθηκε από την εταιρεία Android, Inc., αλλά η Google εξαγόρασε την εταιρεία το Το Android OS, όμως παρουσιάστηκε το 2007 παράλληλα με την ίδρυση της Open Handset Alliance, μιας κοινοπραξίας για εταιρίες υλικού, λογισμικού και τηλεπικοινωνιών με σκοπό την προαγωγή των ανοικτών προτύπων για κινητές συσκευές Χαρακτηριστικά του Android To Android έχει κάποια βασικά χαρακτηριστικά που το κάνουν κατάλληλο για την εφαρμογή του σε κινητές συσκευές. Μερικά από αυτά τα χαρακτηριστικά θα αναφερθούν παρακάτω. Περιβάλλον Χρήσης Όπως σημειώθηκε παραπάνω το Android δημιουργήθηκε κατά βάση για να χρησιμοποιηθεί σε κινητές συσκευές με οθόνη αφής. Συνεπώς, με μια κίνηση του χρήστη μπορεί να ενεργοποιηθεί μια λειτουργία για την ενημέρωσή του. Οι λειτουργίες αυτές μπορεί να είναι η εμφάνιση μηνυμάτων στην οθόνη, η ενεργοποίηση κάποιας φωτεινής ένδειξης ή η δόνηση της συσκευής. Με το πάτημα της οθόνης ο χρήστης μπορεί να ανοίξει κάποια εφαρμογή, να δει τα του και να ακούσει την αγαπημένη του μουσική. Εικόνα 18: Αρχική οθόνη του Android OS Στην αρχική οθόνη, ο χρήστης μπορεί να τοποθετήσει της αγαπημένες του εφαρμογές όπως στην επιφάνεια εργασίας ενός υπολογιστή. Έτσι, μπορεί να προσπελάσει απευθείας τα μηνύματά του ή να πλοηγηθεί στο διαδίκτυο με την ενεργοποίηση της κατάλληλης εφαρμογής.

56 Βασικό χαρακτηριστικό του περιβάλλοντος χρήσης είναι μπάρα ειδοποιήσεων. Η μπάρα ειδοποιήσεων βρίσκεται στο πάνω μέρος της οθόνης και εμφανίζει σχετικά μηνύματα όταν ο χρήστης π.χ λάβει ένα νέο μήνυμα ή αν έχει χαμηλή μπαταρία ή αν έχει συνδεθεί σε κάποιο ασύρματο δίκτυο. Εφαρμογές Το Android έχει ένα συνεχώς αυξανόμενο πληθυσμό εφαρμογών που έχουν δημιουργηθεί από τρίτους, οι οποίες είναι διαθέσιμες μέσω του καταστήματος εφαρμογών Google Play. Το Google Play δίνει στους χρήστες την δυνατότητα να ψάξουν, να κατεβάσουν και να αναβαθμίσουν εφαρμογές. Η εφαρμογή για το κατάστημα είναι προεγκατεστημένη στις συσκευές που συνάδουν με τις απαιτήσεις συμβατότητας και την άδεια της Google για τις κινητές συσκευές. Οι διαθέσιμες εφαρμογές είναι είτε δωρεάν είτε υπό πληρωμή. Σε περίπτωση που κάποιος αγοράσει μια εφαρμογή καταλάθος εγγυάται επιστροφή χρημάτων μέσα σε 15 λεπτά από την αγορά της εφαρμογής. Οι διαθέσιμες εφαρμογές έχουν πολλές κατηγορίες όπως παιχνίδια, διαχειριστές αρχείων, εργαλεία για τη εποπτεία του συστήματος, λογισμικά καταπολέμησης ιών και πολλά άλλα. Πρόσφατα προστέθηκε και η δυνατότητα αγοράς ψηφιακών εκδόσεων βιβλίων, μουσικής και ταινιών. Διαχείριση Μνήμης Εικόνα 19: Η εφαρμογή Google Play Οι συσκευές που έχουν Android OS συνήθως τροφοδοτούνται από μπαταρία, συνεπώς το Android είναι σχεδιασμένο να διαχειρίζεται την μνήμη (RAM), έτσι ώστε να διατηρεί την κατανάλωση ενέργειας στο ελάχιστο, σε αντίθεση με τα λειτουργικά συστήματα των επιτραπέζιων υπολογιστών, οι οποίοι έχουν συνεχή τροφοδοσία. Όταν μια εφαρμογή δεν χρησιμοποιείται πλέον, το σύστημα αυτόματα θα την αναστείλει στην μνήμη. Παρόλο που οι εφαρμογή είναι «ακόμη ανοικτή», δεν καταναλώνει πόρους (π.χ. υπολογιστική ισχύ ή ενέργεια από την μπαταρία) και διατηρείται αδρανής στο παρασκήνιο έως ότου χρειαστεί ξανά. Η τεχνική αυτή έχει

57 το διπλό πλεονέκτημα, της αύξησης της απόκρισης της συσκευής, από την στιγμή που οι εφαρμογές δεν χρειάζεται να κλειστούν και να ξανανοιχτούν από την αρχή, καθώς και της σιγουριάς ότι οι εφαρμογές παρασκηνίου δεν καταναλώνουν ενέργεια άσκοπα. Η διαχείριση των αδρανοποιημένων εφαρμογών στην μνήμη γίνεται αυτόματα: όταν η διαθέσιμη μνήμη είναι λίγη, το σύστημα θα ξεκινήσει να τερματίζει εφαρμογές και διεργασίες, οι οποίες είναι ανενεργές για ώρα, με την ανάποδη χρονική σειρά κατά την οποία αυτές χρησιμοποιήθηκαν (η παλαιότερη τερματίζεται πρώτη). Η όλη διαδικασία είναι σχεδιασμένη έτσι ώστε να είναι αόρατη στον χρήστη, συνεπώς οι χρήστες δεν χρειάζεται να διαχειρίζονται την μνήμη ή να τερματίζουν εφαρμογές. Εικόνα 20: Προτεραιότητα των διαδικασιών στο Android OS ANDROID Software Development Kit (SDK) Οι εφαρμογές μπορούν να θεωρηθούν ως επεκτάσεις την λειτουργικότητας της συσκευής και δημιουργούνται κατά κύριο λόγο με την γλώσσα προγραμματισμού Java με την χρήση του Android Software Development Kit (Android SDK). To SDK περιλαμβάνει ένα σύνολο εργαλείων προγραμματισμού, όπως debugger, βιβλιοθήκες λογισμικού, έναν προσομοιωτή συσκευής βασισμένο σε QEMU, τεκμηρίωση, παραδείγματα κώδικα και οδηγούς εκμάθησης. Εικόνα 21: Το λογότυπο του Android SDK

58 Η Google έδινε το SDK αρχικά χωρίς κάποιο περιβάλλον ανάπτυξης κώδικα αλλά αργότερα πρότεινε και προτείνει το Eclipse IDE. Στις 16 Μάιου 2013, στα πλαίσια του συνεδρίου Google I/O, ανακοινώθηκε από την διευθυντή προϊόντων της Google, Ellie Powers, ένα νέο περιβάλλον ανάπτυξης κώδικα υπό το όνομα Android Studio. Από τον Ιούνιο του 2013, είναι διαθέσιμη στους χρήστες μια δωρεάν αρχική έκδοση από την επίσημη ιστοσελίδα της Google. Το Android Studio βασίζεται λογισμικό IntelliJ IDEA της JetBrain s και είναι σχεδιασμένο ειδικά για την κατασκευή εφαρμογών Android. Είναι διαθέσιμο για Windows, Mac OS X and Linux Αρχιτεκτονική του ANDROID OS Υλικό και πρόσθετα εξαρτήματα Η κύρια υλική πλατφόρμα (hardware platform) για το Android OS είναι η αρχιτεκτονική 32-bit ARMv7. Το πρόγραμμα Android-x86 παρέχει υποστήριξη για την x86 αρχιτεκτονική. Το 2012, Intel επεξεργαστές έκαναν την εμφάνισή τους σε Android συσκευές, όπως κινητά τηλέφωνα. Κατόπιν, το 2013, η Freescale ανακοίνωσε την υποστήριξη στον i.mx επεξεργαστή της, και ειδικότερα στις σειρές i.mx5x και i.mx6x. Επιπρόσθετα, το Android μπορεί να λειτουργήσει σε x86 αρχιτεκτονική με την χρήση του προσομοιωτή Android από το Android SDK ή με την χρήση του Bluestacks. Οι συσκευές Android διαθέτουν πολλά προαιρετικά εξαρτήματα υλικού, όπως κάμερες, GPS, αισθητήρες προσανατολισμού, χειριστήρια για παιχνίδια, επιταχυνσιόμετρα, γυροσκόπια, βαρόμετρα, μαγνητόμετρα, αισθητήρες εγγύτητας, αισθητήρες πίεσης, θερμόμετρα και οθόνες αφής. Μερικά εξαρτήματα δεν απαιτούνται, αλλά έγιναν τυπικά σε μερικές κατηγορίες συσκευών, όπως κινητά τηλέφωνα και tablets. Επίσης, μερικά εξαρτήματα δεν απαιτούνται πλέον, όπως για παράδειγμα τα μικρόφωνα, τα οποία με είσοδο των tablets στην αγορά έγιναν προαιρετικά. Πυρήνας Linux Το Android βασίζεται στον πυρήνα Linux LTS. Από τον Ιανουάριο του 2014, οι τρέχουσες εκδόσεις του Android χτίζονται στον πυρήνα Linux 3.4 ή μεταγενέστερο, αλλά η ακριβής έκδοση του πυρήνα εξαρτάται από την συσκευή και το chipset αυτής. Ο πυρήνας Linux έχει περαιτέρω αρχιτεκτονικές αλλαγές, οι οποίες υλοποιήθηκαν από την Google, όπως η ένταξη συστατικών όπως ο Binder, η ashmem, η pmem, δίαφορα wakelocks και διαφορετική διαχείριση στην περίπτωση out-of-memory (ΟΟΜ). Η αποθήκευση τύπου flash στις Android συσκευές χωρίζεται σε διάφορα μέρη, όπως το /system για το λειτουργικό σύστημα και /data για τα δεδομένα χρήστη και εγκαταστάσεις εφαρμογών. Σε αντίθεση με τις διανομές Linux για επιτραπέζιους υπολογιστές, οι χρήστες Android δεν έχουν δικαιώματα διαχειριστή (root access) στο λειτουργικό σύστημα και «ευαίσθητα» τμήματα όπως το /system είναι μόνο για ανάγνωση. Όμως, τα δικαιώματα διαχειριστή μπορούν να αποκτηθούν μέσω κενών ασφαλείας, τα οποία χρησιμοποιούνται διαρκώς από την κοινότητα ανοιχτού κώδικα για να ενισχύσουν τις δυνατότητες των συσκευών τους.

59 Σύμφωνα με την Linux Foundation, το Android είναι μια διανομή Linux. Ακόμη, υπάρχει η γνώμη πως το Android δεν είναι μια Linux διανομή με την έννοια της παραδοσιακής Unix διανομής, καθώς το Android δεν περιλαμβάνει την GNU C Library και κάποια άλλα συστατικά που βρίσκονται σε διανομές Linux. Λογισμικό Στην κορυφή του πυρήνα Linux, υπάρχουν ενδιάμεσο λογισμικό, βιβλιοθήκες και APIs σε γλώσσα προγραμματισμού C και λογισμικό εφαρμογής, το οποίο τρέχει σε ένα πλαίσιο εφαρμογής το οποίο περιλαμβάνει βιβλιοθήκες συμβατές με Java βασισμένες στο Apache Harmony. Το Android χρησιμοποίει την εικονική μηχανή Dalvik με just-in-time compilation έτσι ώστε να τρέχει «κώδικα Dalvik» (Dalvik executable), ο οποίος συνήθως μεταφράζεται από τον bytecode της Java. Από την έκδοση 4.4 υποστηρίζεται και μια νέα πειραματική εικονική μηχανή, η ART, η οποία είναι απενεργοποιημένη από προεπιλογή. Η βιβλιοθήκη της γλώσσας C στο Android, η Bionic, αναπτύχθηκε από την Google ειδικά για το Android, ως μια διακλάδωση της βιβλιοθήκης του BSD. Η Bionic έχει αρκετά χαρακτηριστικά ειδικά για τον πυρήνα των Linux και η ανάπτυξή του συνεχίζεται ανεξάρτητα από τις άλλες βάσεις κώδικα του Android. Τα προνόμια της χρήσης της Bionic αντί της GNU C Library (glibc) ή της uclibc είναι η διαφορετική αδειοδότηση, μικρότερες απαιτήσεις σε υπολογιστική ισχύ και βελτιστοποίηση σε επεξεργαστές χαμηλών συχνοτήτων. Εικόνα 22: Η αρχιτεκτονική του Android OS

60 Στοχεύοντας σε ένα πιο κατάλληλο μοντέλο αδειοδότησης, στα τέλη του 2012, η Google άλλαξε την Bluetooth Stack στο Android από την BlueZ στην BlueDroid Ιστορικό Εκδόσεων του ANDROID OS Το Νοέμβριο του 2007, η Google ανακοίνωσε ότι η εταιρεία σχεδιάζει ένα κινητό τηλέφωνο (Google Phone), καθώς και ένα ολοκαίνουργιο λειτουργικό σύστημα για κινητά τηλέφωνα με το όνομα Android. Το λειτουργικό σύστημα από τότε έχει εγκατασταθεί σε εκατομμύρια συσκευές και έχει αναβαθμιστεί σε εκδόσεις με επιπλέον χαρακτηριστικά και μεγαλύτερη αξιοπιστία. Android 1.0 (API level 1) Η πρώτη εμπορική έκδοση του λειτουργικού συστήματος κυκλοφόρησε στις 23 Οκτωβρίου Η HTC ήταν ο πρώτος κατασκευαστής κινητών τηλεφώνων που διάθεσε στην αγορά κινητό με λειτουργικό Android, το T-Mobile G1 στις ΗΠΑ (ή HTC Dream εκτός των ΗΠΑ), τον Οκτώβριο του Εικόνα 23: Περιβάλλον χρήσης Android 1.0 Τα βασικά χαρακτηριστικά της έκδοσης ήταν: Συρόμενο παράθυρο ειδοποιήσεων Γραφικά στοιχεία στην αρχική οθόνη (widgets) Μια πλήρης διαχείριση της υπηρεσίας Gmail Android Market (ηλεκτρονικό κατάστημα εφαρμογών) Android 1.1 (API level 2) Η πρώτη αναβάθμιση του Android OS έγινε τον Φεβρουάριο του 2009, τρείς μήνες μετά την διάθεση του HTC Dream. Η αναβάθμιση δεν έφερε μεγάλες αλλαγές αλλά διόρθωσε μια μεγάλη λίστα από σφάλματα και έδωσε στο Android την δυνατότητα να μοιράζει αναβαθμίσεις «over the air» και να απλοποιήσει την διαδικασία για τους χρήστες. Android 1.5 (API level 3) Cupcake

61 Η πρώτη αναβάθμιση με σημαντικά αποτελέσματα. Οι προηγούμενες δυο εκδόσεις αναφέρονταν σε ένα κινητό με φυσικό πληκτρολόγιο. Έτσι στην αναβάθμιση αυτή παρουσιάστηκε το εικονικό πληκτρολόγιο. Το Ιούλιο του 2009 παρουσιάστηκε το πρώτο κινητό με οθόνη αφής και χωρίς φυσικό πληκτρολόγιο, το HTC Magic. Άλλες βασικές επεκτάσεις που εισήχθησαν ήταν: Επεκτάσιμα γραφικά στοιχεία (τρίτοι μπορούσαν πλέον να δημιουργήσουν δικά τους widget) Επιλογή και αντιγραφή κειμένου από τον φυλλομετρητή (browser) Καταγραφή και αναπαραγωγή βίντεο και εστίαση με την αφή Android 1.6 (API level 4) Donut Η αναβάθμιση αυτή έφερε κάποιες μικρές αλλαγές στην εμφάνιση του λειτουργικού αλλά το σημαντικό σημείο είναι η υποστήριξη CDMA δικτύων. Έτσι οι Android συσκευές μπορούσαν πλέον να λειτουργήσουν σε ασιατικές χώρες. Ακόμη μια σημαντική αλλαγή ήταν η δυνατότητα υποστήριξης διάφορων μεγεθών και αναλύσεων οθόνης. Έτσι έγινε δυνατή η δημιουργία συσκευών με ανάλυση καλύτερη της αρχικής 320x480. Ακόμη, πλέον με το πάτημα του κουμπιού της αναζήτησης ο χρήστης μπορούσε να κάνει και εσωτερική αναζήτηση στο κινητό για επαφές εφαρμογές, κ.α. εκτός από την πάγια λειτουργία αναζήτησης στο διαδίκτυο. Εικόνα 24: Η εσωτερική αναζήτηση Τέλος, αναβαθμίστηκε το περιβάλλον χρήσης του ηλεκτρονικού καταστήματος αγορών «Android Market». Android (API level 5-7) Eclair Το σημείο όπου το Android έκανε ένα μεγάλο βήμα για την μετέπειτα κυριαρχία του. Η αναβαθμίσεις 2.0 έως 2.1 άλλαξαν ριζικά την αρχιτεκτονική του συστήματος καθώς και το περιβάλλον χρήσης. Οι αλλαγές αυτές ήταν: Υποστήριξη πολλαπλών λογαριασμών Ο χρήστης μπορούσε να εισάγει τα στοιχεία πολλαπλών λογαριασμών ηλεκτρονικού ταχυδρομείου. Ακόμη, δόθηκε η δυνατότητα στους δημιουργούς των εφαρμογών, να χρησιμοποιήσουν αυτό το πλαίσιο λογαριασμών έτσι ώστε ο χρήστης να μπορεί να συγχρονίσει και άλλες εφαρμογές εκτός του

62 Gmail. Πλοήγηση μέσω Google Maps Εισάχθηκε η δυνατότητα πλοήγησης μέσω GPS του κινητού και την χρήση των χαρτών της Google. Ομιλία σε κείμενο Αντικαταστάθηκε το πλήκτρο με το κόμμα «,» στο εικονικό πληκτρολόγιο και αντικαταστάθηκε από το εικονίδιο ενός μικροφώνου. Με το πάτημα του, ο χρήστης μιλούσε και τα λεγόμενα του μετατρέπονταν σε κείμενο. Android (API level 8) Froyo Η έκδοση αυτή εισήγαγε ένα ανανεωμένο γραφικό περιβάλλον, καθώς και μια αναβαθμισμένη έκδοση της εφαρμογής προβολής φωτογραφιών. Ακόμη, δόθηκε η δυνατότητα στους χρήστες να διαμοιράζονται την ασύρματη σύνδεση που παρείχε η εταιρία κινητής τηλεφωνίας με την δημιουργία ενός Wifi-hotspot. Android (API level 9-10) Gingerbread Με την έκδοση αυτή έγινε μια προσπάθεια μείωσης της κατανάλωσης της ενέργειας της μπαταρίας. Αρχικά, προστέθηκε εφαρμογή επίβλεψης κατανάλωσης της μπαταρίας από τις εφαρμογές. Έτσι ο χρήστης μπορούσε να σταματήσει κάποια εφαρμογή από την άσκοπη κατανάλωση μπαταρίας. Ακόμη, για πρώτη φορά παρουσιάστηκε η δυνατότητα για υποστήριξη κάμερας και στην μπροστινή όψη της συσκευής. Τέλος, δόθηκε πρόσβαση στους προγραμματιστές εφαρμογών σε συναρτήσεις χαμηλότερου επίπεδο όσον αφορά τα γραφικά και τον ήχο, έτσι ώστε να δημιουργηθούν πιο ελκυστικά παιχνίδια. Android (API level 11-13) Honeycomb Η πρώτη έκδοση Android που προορίζονταν αποκλειστικά για tablets. Το χρώμα που κυριαρχούσε στο γραφικό περιβάλλον ήταν το πράσινο και παρουσιάστηκαν τα πλήκτρα αφής που αντικατέστησαν τα φυσικά πλήκτρα της αναζήτησης, της αρχικής οθόνης και του μενού. Android (API level 14-15) Ice Cream Sandwich H ICS έκδοση του λογισμικού έφερε τις αλλαγές που εισήχθησαν με το Honeycomb στα κινητά (το Honeycomb αποτέλεσε εν τέλει έκδοση μόνο για tablets). Οι κύριες αλλαγές ήταν: Αλλαγή του γραφικού περιβάλλοντος Βελτίωση πληκτρολογίου Ομαδοποίηση εφαρμογών σε φακέλους

63 Εισαγωγή εφαρμογών στην μπάρα των αγαπημένων στην αρχική οθόνη Android Beam (NFC επικοινωνία μεταξύ δύο συσκευών) Ξεκλείδωμα οθόνης με την αναγνώριση του προσώπου του ιδιοκτήτη Μετονομασία Android Market σε Google Play Εφαρμογή για την παρακολούθηση χρήσης δεδομένων από εφαρμογές. Android (API level 16-18) Jelly Bean H Google με την αναβάθμιση αυτή ήθελε να βελτιώσει την λειτουργικότητα και την απόδοση του περιβάλλοντος χρήσης. Η προσπάθεια αυτή περιλάμβανε το Project Butter, το οποίο χρησιμοποιεί αναμονή αφής, τριπλό buffering, Vsync και ένα σταθερό ρυθμό πλαισίων στα 60 Fps με απώτερο σκοπό την δημιουργία ενός ομαλού περιβάλλοντος. Τα παρακάτω χαρακτηριστικά είναι τα κυριότερα αυτής της αναβάθμισης: Πρόβλεψη λέξεων κατά την πληκτρολόγηση Δημιουργία χρηστών σε ένα tablet Υποστήριξη OpenGL ES3.0 Bluetooth Smart για συσκευές χαμηλής κατανάλωσης Android 4.4 (API level 19) KitKat Η τελευταία μέχρι στιγμής έκδοση του Android OS. Παρουσιάστηκε τον Οκτώβριο του Και πάλι έγινε αλλαγή στο κυρίαρχο χρώμα, από το μπλέ του Honeycomb επιλέχθηκε το άσπρο χρώμα. Τα κύρια σημεία της αναβάθμισης ήταν: Μονιμοποίηση της μπάρας Google Now στην αρχική οθόνη Στροφή σε χρήση του Google Drive αντί εξωτερικής κάρτας επέκτασης μνήμης Δυνατότητα εκτύπωσης εγγράφων μέσω εκτυπωτών που έχουν συνδεθεί στο Google Cloud Print Νεα τεχνική HDR+ για λήψη καλύτερων φωτογραφιών. 5.2 BOOFCV Στην παρούσα πτυχιακή χρησιμοποιήθηκε η βιβλιοθήκη BoofCV για την εξαγωγή των SURF χαρακτηριστικών από της εικόνες. Η BoofCV είναι μια βιβλιοθήκη ανοιχτού κώδικα σε Java και μπορεί να χρησιμοποιηθεί για την δημιουργία εφαρμογών μηχανικής όρασης και ρομποτικής. Συγκεκριμένα, περιλαμβάνει συναρτήσεις για επεξεργασία εικόνων σε πολύ χαμηλό επίπεδο (π.χ. υπολογισμός συνέλιξης, παρεμβολής) καθώς και σε υψηλό επίπεδο, όπως η σταθεροποίηση εικόνας. Κυκλοφορεί υπό την άδεια BSD και συνεπώς μπορεί να χρησιμοποιηθεί για εκπαιδευτική και εμπορική χρήση. Η βιβλιοθήκη αναπτύσσεται από τον Peter Abeles. Η παραπάνω βιβλιοθήκη είναι οργανωμένη σε πακέτα. Αναλυτικότερα: 1. Επεξεργασία εικόνας: περιλαμβάνει συναρτήσει επεξεργασίας εικόνας, οι οποίες λειτουργούν απευθείας στα εικονοστοιχεία. 2. Χαρακτηριστικά εικόνας: περιέχει αλγορίθμους εξαγωγής χαρακτηριστικών

64 για την χρήση σε εφαρμογές υψηλού επιπέδου. 3. Γεωμετρική όραση: αποτελείται από συναρτήσεις επεξεργασίας χαρακτηριστικών εικόνων με εργαλεία 2 ή 3 διαστάσεων (2D ή 3D) 4. Ισοστάθμιση εικόνας: περιέχει μεθόδους για τον καθορισμό εσωτερικών και εξωτερικών παραμέτρων της κάμερας 5. Αναγνώριση: αποτελείται από μεθόδους αναγνώρισης και παρακολούθησης σύνθετων εικονικών αντικειμένων 6. Απεικόνιση: υποστηρίζει τον σχεδιασμό και την απεικόνιση εξαχθέντων χαρακτηριστικών. 5.3 EJML (EFFICIENT JAVA MATRIX LIBRARY) Η εν λόγω βιβλιοθήκη είναι μια βιβλιοθήκη γραμμικής άλγεβρας για την επεξεργασία πυκνών πινάκων. Οι βασικοί του στόχοι είναι: 1. Να είναι αποδοτική σε μικρούς και μεγάλους πίνακες και 2. Να είναι κατανοητή σε ειδικούς και μη. Η EJML είναι γραμμένη σε Java και διέπεται από μια άδεια Apache v2.0. Οι παρακάτω βασικές λειτουργίες παρέχονται: Βασικοί τελεστές (πρόσθεση, αφαίρεση, ) Αποσυνθέσεις (LU, QR, Cholesky, SVD, Eigenvalue, ) Χαρακτηριστικά πινάκων (βαθμός, συμμετρικότητα, ) Παραγωγή τυχαίων πινάκων (ορθογώνιοι, συμμετρικοί, ) Διαφορετικές διατάξεις (κατά στήλη, ανά ομάδες) 5.4 WEKA Το Weka (Waikato Environment for Knowledge Analysis) είναι ένα λογισμικό με πολλά εργαλεία σχετικά με την μηχανική μάθηση, το οποίο αναπτύχθηκε από το Πανεπιστήμιο του Waikato στην Νέα Ζηλανδία. Το λογισμικό αναπτύχθηκε σε Java και διέπεται από την άδεια GNU General Public License. Το εν λόγω λογισμικό περιέχει ένα μεγάλο εύρος εργαλείων απεικόνισης και αλγορίθμους ανάλυσης δεδομένων και πρόβλεψης. Συγκεκριμένα, υποστηρίζει προεπεξεργασία δεδομένων, ομαδοποίηση, κατηγοριοποίηση, απεικόνιση και επιλογή χαρακτηριστικών. Όλες οι τεχνικές του Weka βασίζονται στην υπόθεση πως τα δεδομένα είναι διαθέσιμα σε ένα αρχείο, όπου κάθε δεδομένο περιγράφεται από ένα σταθερό αριθμό χαρακτηριστικών (συνήθως αριθμητικά ή ονομαστικά, αλλά υποστηρίζονται και διάφοροι άλλοι τύποι χαρακτηριστικών). Τέλος, παρέχεται πρόσβαση σε SQL βάσεις και η επεξεργασία της απάντησης ενός ερωτήματος στην βάση.

65

66 Κ Ε Φ Α Λ Α Ι Ο 6 : Σ Υ Μ Π Ε Ρ Α Σ Μ ΑΤ Α & Μ Ε Λ Λ Ο Ν Τ Ι Κ Ε Σ Ε Π Ε Κ Τ Α Σ Ε Ι Σ

67 ΚΕΦΑΛΑΙΟ 6: ΣΥΜΠΕΡΑΣΜΑΤΑ & ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ ΣΥΜΠΕΡΑΣΜΑΤΑ & ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ 6.1 ΣΥΜΠΕΡΑΣΜΑΤΑ Η εργασία αυτή είχε ως στόχο να κατασκευαστεί μια εφαρμογή για κινητές συσκευές, η οποία θα έκανε αναγνώριση εικόνων και βάσει αυτών θα έδινε κάποιο αποτέλεσμα στον τελικό χρήστη. Χρησιμοποιήθηκε το συνεργατικό μοντέλο SURF χαρακτηριστικά και VLAD, διότι στην εργασία [9], διαπιστώθηκε πως ο συνδυασμός VLAD+SURF είναι καλύτερος από τον συνδυασμό VLAD+SIFT αλλά και από τον BoW+SIFT. Επίσης, τα χαρακτηριστικά SURF εξάγονται πολύ πιο γρήγορα από τα SIFT οπότε σε μια εφαρμογή για κινητές συσκευές ήταν επιτακτική η χρήση γρήγορων αλγορίθμων. Μια ακόμη βελτιστοποίηση που χρησιμοποιήθηκε είναι η ελάττωση των διαστάσεων των παραγόμενων διανυσμάτων μέσω της μεθόδου PCA (Principal Component Analysis). Με την χρήση της PCA επιταχύνθηκε μείωση του υπολογιστικού φόρτου στην συσκευή καθώς και διατήρηση του μεγέθους της εφαρμογής σε κανονικά πλαίσια. Το σημείο αυτό είναι πολύ σημαντικό διότι σε εφαρμογές σε κινητές συσκευές οι υπολογιστικοί και αποθηκευτικοί πόροι είναι περιορισμένοι και το λειτουργικό σύστημα δεν επιτρέπει την εξάντληση τους από μία μόνο εφαρμογή. Το βασικότερο πρόβλημα ήταν η διαφορά που υπήρχε στα διανύσματα SURF, για την ίδια εικόνα, όταν είχε υπολογιστεί σε υπολογιστή και όταν είχε υπολογιστεί σε Android συσκευή. Τελικά, διαπιστώθηκε ότι υπάρχει διαφορά στον τρόπο αναπαράστασης των τιμών των εικονοστοιχείων (pixel) στις κλάσεις Bitmap και BufferedImage, οι οποίες χρησιμοποιούνται στο Android και στην βιβλιοθήκη EJML, αντίστοιχα. Έτσι, η δημιουργία των βάσεων από χαρακτηριστικά για τα πειράματά μας έγινε σε προσομοιωτή περιβάλλοντος Android OS. Ακόμη, ένα πρόβλημα που προέκυψε ήταν ο περιορισμός στην διαθέσιμη μνήμη για κάθε εφαρμογή από το Android OS. Αυτός ο περιορισμός μας έδωσε το έναυσμα να δημιουργήσουμε μια δική μας κλάση για την εκτέλεση των απαραίτητων πράξεων πινάκων που απαιτούνται στην μέθοδο PCA με float arithmetic και όχι double. Τέλος, τα μεγαλύτερα αρχεία της εφαρμογής, όπως ο PCA matrix και η βάση δεδομένων με τα χαρακτηριστικά από τις εικόνες του συνόλου εκπαίδευσης μετατράπηκαν σε δυαδική μορφή (binary) για εξοικονόμηση χώρου και γρηγορότερη ανάγνωση των περιεχομένων τους. 6.2 ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ Τα ανοιχτά ζητήματα που θα μπορούσαν να διερευνηθούν από μια μελλοντική επέκταση της παρούσας εργασίας είναι: 1. Η βελτίωση του περιβάλλοντος χρήστη και εξερεύνηση των δυνατοτήτων των πιο καινούργιων εκδόσεων του λειτουργικού. 2. Με την δυναμική ανανέωση της βάσης χαρακτηριστικών από τον ίδιο τον χρήστη. Το σκεπτικό είναι ο χρήστης να φωτογραφίζει το εν λόγω σημείο ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 67

68 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ ενδιαφέροντος και αν δεν αναγνωρίζεται να μπορεί να το επισημάνει ο ίδιος και να βελτιωθούν τα αποτελέσματα της εφαρμογής. Στην ουσία προτείνεται η συνεχής ανανέωση της βάσης από τους χρήστες. 3. Μια ακόμη επέκταση είναι η δημιουργία πολλαπλών βάσεων και ανάλογα με την πόλη στην οποία βρίσκεται ο χρήστης να χρησιμοποιεί την αντίστοιχη βάση. Ακόμη, μπορεί να φτιαχτεί μία εφαρμογή για κάθε πόλη με τις βέλτιστες ρυθμίσεις και ο χρηστής να ανατρέχει στην εκάστοτε εφαρμογή. 4. Τέλος, θα μπορούσε να δοκιμαστεί η χρήση χαρακτηριστικών color SURF [10] και όχι Gray SURF τα οποία χρησιμοποιήσαμε στην τρέχουσα εφαρμογή. 68 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

69 Π Α Ρ Α Ρ Τ Η Μ Α I : Κ Ω Δ Ι Κ Α Σ Ε Φ Α Ρ Μ Ο Γ Η Σ

70 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ Κλάση GlobalClass Στην κλάση αυτή ορίζονται κάποιες μεταβλητές οι οποίες πρέπει να είναι διαθέσιμες σε όλη την εφαρμογή. Στην ουσία παίζει τον ρόλο μια «καθολικής» κλάσης, η οποία περιέχει καθολικές μεταβλητές. Αποτελείται μόνο από getters και setters των πεδίων της, έτσι ώστε να μπορούν να επηρεαστούν από άλλες κλάσεις. Παρακάτω εμφανίζεται μόνο το κομμάτι του κώδικα που ορίζει τα πεδία της κλάσης. Οι getters και οι setters έχουν παραχθεί ομοιόμορφα με τον τυπικό τρόπο σύνταξής τους (για αυτό παραλείπεται και ο κώδικάς τους) Κλάση SplashScreenActivity Η κλάση αυτή είναι η κλάση που καλείται όταν ξεκινά η εφαρμογή και είναι υπεύθυνη για την αρχικοποίηση όλων των απαραίτητων μεταβλητών και το φόρτωμα όλων των αρχείων που απαιτούνται για την λειτουργία της. 70 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

71 Αρχικά, αναγνωρίζει αν η εφαρμογή καλέστηκε από το εικονίδιο της (άμεσα) ή από κάποια άλλη εφαρμογή μέσω της κοινής χρήσης (έμμεσα). Στην πρώτη περίπτωση, εμφανίζεται μια οθόνη υποδοχής και στο παρασκήνιο γίνονται οι αρχικοποιήσεις. Δηλαδή, φορτώνονται το starter.txt (περιέχει διαφορές ρυθμίσεις για την διαδικασία της εξαγωγής χαρακτηριστικών) το class_info.txt (περιέχει πληροφορίες για κάθε σημείο ενδιαφέροντος όπως όνομα, GPS συντεταγμένες, όρια για την αναγνώριση και μια σύντομη περιγραφή για το εν λόγω σημείο) τα codebooks που είναι διαθέσιμα και αρχικοποιείται η μεταβλητή η οποία είναι υπεύθυνη για το VLAD ο πίνακας PCA και ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 71

72 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ η βάση (index) που έχει κατασκευαστεί με τα χαρακτηριστικά από τις εικόνες του συνόλου εκπαίδευσης Τέλος, όταν φορτωθούν όλα τα παραπάνω η οθόνη υποδοχής εξαφανίζεται και καλείται η MainActivity. handlesendimage(intent intent) και getrealpathfromuri(uri contenturi) Οι δύο αυτές συναρτήσεις εξάγουν το μονοπάτι της εικόνας που έχει περαστεί μέσω του intent. Χρησιμεύει στην εξαγωγή του μονοπατιού της εικόνας αν η εφαρμογή έχει καλεστεί από το κουμπί κοινής χρήσης κάποιας άλλης εφαρμογής. 72 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

73 getcodebooks(int num_of_codebooks) και getvlad() Η συνάρτηση getcodebooks(int num_of_codebooks) διαβάζει τα codebooks που υπάρχουν στα assets της εφαρμογής, ενώ η μέθοδος getvlad() αποθηκεύει ένα αντικείμενο VladAggregatorMultipleVocabularies στο αντικείμενο της GlobalClass. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 73

74 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ getpca() Η συνάρτηση αυτή φορτώνει τον PCA matrix, ο οποίος βρίσκεται στα assets της εφαρμογής και αποθηκεύει ένα αντικείμενο PCA στο αντικείμενο της GlobalClass. getclassinfofile() Η συνάρτηση αυτή διαβάζει το αρχείο starter.txt που βρίσκεται στα assets και αποθηκεύει της πληροφορίες του σε ένα πίνακα αντικειμένων της κλάσης Class_info και στη συνέχεια ο πίνακας αυτός εισάγεται και αυτός στο αντικείμενο της κλάσης GlobalClass. getindex() Η συνάρτηση αυτή διαβάζει το αρχείο index.bin που βρίσκεται στα assets και αποθηκεύει της πληροφορίες του τρεις πίνακες. Το αρχείο αυτό περιέχει την βάση της εφαρμογής μας όπως αυτή περιγράφηκε σε προηγούμενο κεφάλαιο. 74 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

75 getstarter() Η μέθοδος getstarter() διαβάζει το αρχείο starter.txt και ανάλογα με τα περιεχόμενα του αλλάζουν και οι τιμές πολλών πεδίων της κλάσης GlobalClass. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 75

76 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ 76 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

77 Κλάση MainActivity Η κλάση αυτή είναι η κύρια κλάση της εφαρμογής καθώς εδώ βρίσκονται οι βασικές λειτουργίες. Συγκεκριμένα, η MainActivity είναι υπεύθυνη για την αρχικοποίηση όλων των κουμπιών και εμφανίζει την εικόνα η οποία έχει φορτωθεί την εκάστοτε στιγμή. Αρχικά, ορίζει ως κεντρική εικόνα την εικόνα για το κυρίως πρόγραμμα και έπειτα ορίζει τι θα κάνουν τα κουμπιά Snap Image, Load from gallery και Recognize. 1. Snap Image Εκκινεί την εφαρμογή του συστήματος για λήψη φωτογραφιών και μόλις γίνει η λήψη επιστρέφεται στην εφαρμογή η ακριβής θέση της εικόνας στο σύστημα αρχείων του Android OS και τίθενται ως η κύρια εικόνα της εφαρμογής. 2. Load from gallery Λειτουργεί όμοια με την Snap Image με την διαφορά ότι δεν εκκινείται η εφαρμογή της κάμερας αλλά η εφαρμογή προβολής φωτογραφιών του κινητού. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 77

78 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ 3. Recognize Με το πάτημά του ξεκινά ένα Service (SurfExtractionService) για την εξαγωγή χαρακτηριστικών από την εικόνα. Ακόμη, στην MainActivity ορίζεται ένα μενού επιλογών το οποίο καλεί μια Activity που κάνει την αντίστοιχη εργασία. Οι επιλογές που προσφέρονται είναι: Settings (SettingsActivity) About (AboutActivity) List Of POIs (ListOfPOIsActivity) How to use (HowToUseActivity) 78 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

79 getapplicationname(context context) Η μέθοδος αυτή διαβάζει το context που της περνάμε σαν παράμετρο και επιστρέφει το όνομα της εφαρμογής. getoutputmediafileuri(int type, String app_name) Επιστρέφει το Uri του αρχείου που δημιουργείται για την αποθήκευση της εικόνας που τράβηξε ο χρήστης. getoutputmediafile(int type,string app_name) Μέσω αυτής της συνάρτησης γίνεται η δημιουργία του παραπάνω αρχείου για την αποθήκευση της εικόνας. Συγκεκριμένα, αρχικά προσπελαύνουμε (αν δεν υπάρχει τον δημιουργούμε) τον φάκελο, όπου αποθηκεύονται οι εικόνες που έχουν τραβηχτεί μέσα από την εφαρμογή. Κατόπιν δημιουργούμε το αρχείο για την αποθήκευση της εικόνας και το επιστρέφουμε. onactivityresult(int requestcode, int resultcode, Intent data) Η συνάρτηση χειρίζεται τα αποτελέσματα της συνάρτησης startactivityforresult (καλείται όταν χρήστης πατά το κουμπί για να φορτώσει εικόνα ή για να φωτογραφήσει κάτι), η οποία επιστρέφει ένα αντικείμενο Intent το οποίο περιέχει πληροφορίες για την εικόνα που επιστράφηκε. Ανάλογα με το requestcode έχουμε τις εξής περιπτώσεις: requestcode == RESULT_LOAD_IMAGE Η εικόνα προέρχεται από επιλογή από την συλλογή. Εξάγουμε το μονοπάτι της εικόνας, την κάνουμε κλιμάκωση στις επιθυμητές διαστάσεις και την θέτουμε σε επιλεγμένη στο κύριο μενού της εφαρμογής. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 79

80 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ requestcode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE Η εικόνα προέρχεται από την κλήση της εφαρμογής της κάμερας του κινητού. Κάνουμε τα ίδια βήματα όπως και στην προηγούμενη περίπτωση με την διαφορά ότι ενημερώνουμε της άλλες εφαρμογές για την ύπαρξη της εικόνας στο σύστημα αρχείων. getrealpathfromuri(uri contenturi, int requestcode) Η εν λόγω συνάρτηση χρησιμοποιείται στην onactivityresult για την εξαγωγή του μονοπατιού της εικόνας από το Uri που εξάγεται από το Intent είτε της λήψης φωτογραφίας είτε της επιλογής της από την συλλογή. Ανάλογα με το requestcode που παρέχεται εξάγεται και το μονοπάτι κατάλληλα. 80 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

81 decodesampledbitmapfromfile(string filename, int reqwidth, int reqheight) Η μέθοδος αυτή δημιουργεί μια μικρότερη έκδοση της εικόνας αν είναι απαραίτητο διότι δεν θέλουμε μια εικόνα να πιάνει πόρους για μεγαλύτερες διαστάσεις ενώ εμφανίζεται σε μικρότερη κλίμακα. Το Android λόγω των περιορισμών σε μνήμη, παρέχει ένα μηχανισμό με τον οποίο μπορούμε να φορτώσουμε τα χαρακτηριστικά τις εικόνας χωρίς να φορτώσουμε την ίδια την εικόνα και να τα επεξεργαστούμε. Ο μηχανισμός αυτός περιέχεται στην κλάση BitmapFactory. Υπολογίζουμε την τιμή κλιμάκωσης με την βοήθεια της συνάρτησης calculateinsamplesize και επιστρέφουμε την εικόνα. calculateinsamplesize(bitmapfactory.options options, int reqwidth, int reqheight) Η συνάρτηση αυτή υπολογίζει την τιμή κλιμάκωσης τις εικόνας έτσι ώστε να είναι όσο το δυνατόν πιο «κοντά» στην ανάλυση που δίνεται (reqwidth x reqheight) χωρίς να χάσει την αρχική αναλογία διαστάσεων της. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 81

82 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ rotateimage(bitmap bmap) Η συνάρτηση αυτή διαβάζει τα μεταδεδομένα της εικόνας και αν είναι περιστρεμμένη την επιστρέφει στον αρχικό της προσανατολισμό. onresume() Αποτελεί μια από τις συναρτήσεις της κλάσης Activity και καλείται όταν η εργασία επανέρχεται από το παρασκήνιο. Απλά επαναφέρει την εικόνα που είχαμε φορτώσει την τελευταία φορά στην εφαρμογή. 82 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

83 Κλάση SettingsActivity Η κλάση αυτή αρχικά ελέγχει ποια είναι η τρέχουσα ανάλυση για μπορέσει να ενεργοποιήσει το αντίστοιχο RadioButton. Κατόπιν, μόλις ο χρήστης αλλάξει την ανάλυση αλλάζει και στην Global μεταβλητή του προγράμματος για να είναι γνωστό σε όλες τις κλάσεις. Έπειτα, ελέγχει εάν είναι ενεργοποιημένα τα thresholds και αν ναι «τσεκάρει» το CheckButton. Τέλος, ελέγχει αν αλλάξει η κατάσταση του CheckButton και ενημερώνει κατάλληλα τόσο το κουμπί όσο και την Global μεταβλητή για να κοινοποιηθεί σε όλες τις κλάσεις. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 83

84 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ Κλάση AboutActivity Η κλάση αυτή απλώς εμφανίζει κάποια στοιχεία σχετικά με τους συμμετέχοντες σε αυτή την εργασία και πληροφορίες για την εφαρμογή. Κλάση ListOfPOIsActivity Η κλάση αυτή εμφανίζει μια λίστα με τα διαθέσιμα σημεία ενδιαφέροντος τα οποία μπορεί να αναγνωρίσει η εφαρμογή. Το κάθε στοιχείο της λίστας περιλαμβάνει μια αντιπροσωπευτική εικόνα του POI και την επίσημη ονομασία του στην Αγγλική γλώσσα. 84 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

85 Κλάση HowToUseActivity Η κλάση αυτή εμφανίζει πληροφορίες για την καλύτερη και πιο αποδοτική χρήση της εφαρμογής. Κλάση SurfExtractionService Στην συγκεκριμένη κλάση γίνεται η εξαγωγή των χαρακτηριστικών από την εικόνα και η κατηγοριοποίησή της. Συγκεκριμένα, ακολουθούνται τα παρακάτω βήματα: ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 85

86 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ a. Η εικόνα που περάστηκε μέσω της MainActivity κλιμακώνεται αν οι διαστάσεις της είναι πάνω από τις επιθυμητές διαστάσεις. b. Εξάγονται τα χαρακτηριστικά SURF από την grayscale εικόνα c. Εξάγεται το κατάλληλο VLAD διάνυσμα 86 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

87 d. Εφαρμόζεται μείωση διαστάσεων μέσω της PCA και παράγεται το τελικό διάνυσμα. e. Υπολογίζονται οι Κ-Πλησιέστεροι Γείτονες (Κ-ΝΝ) του διανύσματος σε σύγκριση με τα διανύσματα που βρίσκονται στην βάση μας. (διανύσματα συνόλου εκπαίδευσης) f. Τέλος, βασιζόμενοι στο αποτέλεσμα των K-ΝΝ υπολογίζουμε την κατανομή πιθανότητας της κάθε κλάσης έτσι ώστε η εφαρμογή να μπορεί να αποφασίσει σε ποια κλάση ανήκει η εικόνα. Ανάλογα αν έχουμε ενεργοποιημένα τα thresholds για τις κατανομές πιθανότητας έχουμε δύο περιπτώσεις. Αν είναι ενεργοποιημένα, παίρνουμε τα thresholds για την κλάση με την μεγαλύτερη εμπιστοσύνη και που έχουν δημιουργηθεί με την ίδια ανάλυση εικόνας και αν η εμπιστοσύνη της κλάσης είναι μεγαλύτερη του ορίου καλείται η ClassDescriptionActivity για να εμφανιστούν πληροφορίες σχετικά με την εν λόγω κλάση. Στην περίπτωση που η εμπιστοσύνη είναι μικρότερη του ορίου εμφανίζεται μήνυμα στον χρήστη για επιλογή διαφορετικής εικόνας. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 87

88 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ Στην περίπτωση που τα όρια δεν είναι ενεργοποιημένα, καλείται και πάλι η ClassDescriptionActivity χωρίς έλεγχο για το αν ξεπερνά το όριο της υπερισχύουσας κλάσης (κλάση με την μεγαλύτερη εμπιστοσύνη). SURFExtractor(ImageFloat32 image) Η συνάρτηση αυτή υπολογίζει τα SURF χαρακτηριστικά και τα επιστρέφει σε ένα πίνακα float[][]. Βασίζεται στις μεθόδους τις βιβλιοθήκης BoofCV και δέχεται σαν είσοδο την grayscale έκδοση της εικόνας εισόδου. 88 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

89 computenearestneighborsinternal(int k, float[] queryvector) Η μέθοδος αυτή δέχεται σαν είσοδο το τελικό διάνυσμα μετά από την εφαρμογή της PCA και τον αριθμό των επιστρεφόμενων γειτόνων. Υπολογίζεται η απόσταση του διανύσματος από το κάθε διάνυσμα της βάσης και εισάγεται ένα αντικείμενο Result σε μια Σειρά Προτεραιότητας (BoundedPriorityQueue) με τα στοιχεία του διανύσματος της βάσης. (όνομα της κλάσης στην οποία ανήκει και το αναγνωριστικό της κλάσης και την απόσταση από το διάνυσμα που συγκρίνεται). Για τον περιορισμό των εισαγωγών ένα στοιχείο Result εισάγεται στην λίστα μόνο αν η απόσταση του από το διάνυσμα που δίνεται ως είσοδος είναι μικρότερη αυτής του K-οστού μέχρι και αυτή την στιγμή γείτονα. Η πράξη αυτή γίνεται με το σκεπτικό πως το Κ-οστό στοιχείο έχει την μεγαλύτερη απόσταση από τα προηγούμενα Κ οπότε το στοιχείο που πρέπει να εισαχθεί θα πρέπει να έχει τουλάχιστον μικρότερη απόσταση από αυτή του Κ. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 89

90 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ makedistribution(boundedpriorityqueue<result> pq, int m_numclasses, int m_numinstances) & normalize(double[] doubles, double sum) Η πρώτη μέθοδος υπολογίζει την κατανομή πιθανοτήτων για τις όλες τις κλάσεις σε συνάρτηση με το αποτέλεσμα των K-NN, το οποίο δίδεται με την μορφή μιας BoundedPriorityQueue. Ο κώδικας βασίζεται στην αντίστοιχη υλοποίηση της συνάρτησης από το Weka, διότι τα thresholds που χρησιμοποιούμε υπολογίστηκαν μέσω αυτού. Η δεύτερη συνάρτηση απλά κανονικοποιεί την κατανομή πιθανοτήτων με βάση το συνολικό βάρος. 90 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

91 Κλάση Result Η κλάση αυτή μας βοηθά να οργανώσουμε τις πληροφορίες για τον κάθε κοντινότερο γείτονα και αφού κληρονομεί την κλάση Comparator<Result> μπορεί να συγκρίνει δύο αντικείμενα της μέσω της συνάρτησης compare(result o1, Result o2). Το κάθε αντικείμενο διατηρεί την απόσταση του από το διάνυσμα με το οποίο το συγκρίναμε, το όνομα και το αναγνωριστικό της κλάσης από την οποία προέρχεται. Κλάση VladAggregatorMultipleVocabularies Η κλάση αυτή υπολογίζει διανύσματα VLAD από πολλά codebooks. Τα διανύσματα παράγονται ανεξάρτητα από το κάθε codebook στην συνάρτηση aggregate χρησιμοποιώντας κανονικοποίηση L2 και power. Στο τέλος, ενώνει τα κανονικοποιημένα πλέον διανύσματα σε ένα διάνυσμα, το οποίο είναι L2 κανονικοποιημένο. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 91

92 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ Κλάση PCA Η κλάση PCA είναι υπεύθυνη για την αποθήκευση του πίνακα PCA και για την προβολή του διανύσματος χαρακτηριστικών στον ιδιοχώρο. Η συγκεκριμένη κλάση χρησιμοποιεί την κλάση MyFloatMatrix για να εκτελέσει ανάλυση βασικών συνιστωσών (Principal Component Analysis). sampletoeigenspace(float[] sampledata) Η συνάρτηση αυτή προβάλλει το δοθέν διάνυσμα από τον δειγματοχώρο (samplespace) στον ιδιοχώρο (eigen-space). Εάν η παράμετρος dowhitening είναι true (στην εφαρμογή μας είναι true), τότε μετά την προβολή στο διάνυσμα εφαρμόζεται κανονικοποίηση L2. loadpcafromfilebinaryfloatnoeigenvalues(string PCAFileName) Στην συνάρτηση αυτή διαβάζει το αρχείο με τον πίνακα PCA από τα assets. Καλείται στην κλάση SplashScreenActivity. 92 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

93 Κλάση MyFloatMatrix Η κλάση αυτή δημιουργεί αλγεβρικούς πίνακες με αποδοτικό τρόπο και υλοποιεί πράξεις πινάκων. Η ιδιαιτερότητα του είναι πως μετατρέπει τον δοθέν πίνακα σε μονοδιάστατο πίνακα και με float arithmetic κάνοντας τον αποδοτικό και γρήγορο σε πράξεις. ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 93

94 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ set(int row, int col, float value) & add(int row, int col, float value) & get(int row, int col) Οι συναρτήσεις αυτές θέτουν (set) και προσθέτουν (add) μια τιμή στην ορισμένη θέση του πίνακα (row,col) και επιστρέφουν (get) την τιμή του πίνακα από μια συγκεκριμένη θέση του. reshape(int numrows, int numcols) Η μέθοδος αυτή δίνει την δυνατότητα αλλαγής του αριθμού γραμμών και στηλών του πίνακα, έτσι ώστε να μεγαλώσει ή να μικρύνει το μέγεθός του. mult(myfloatmatrix a, MyFloatMatrix b) Υπολογίζει τον πολλαπλασιασμό των πινάκων a και b και επιστρέφει το αποτέλεσμα (πίνακας c) σύμφωνα με τον τύπο: sub(myfloatmatrix a, MyFloatMatrix b) n,j,,j 1 Υπολογίζει την αφαίρεση των πινάκων a και b και επιστρέφει το αποτέλεσμα (πίνακας c) σύμφωνα με τον τύπο:,,,j,j,j 94 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

95 Κλάση Normalization Στην κλάση αυτή υπάρχουν διάφοροι μέθοδοι κανονικοποίησης διανυσμάτων(l1, L2, Power, SSR). ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 95

96 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ Κλάση ClassDescriptionActivity Η κλάση αυτή διαβάζει τις πληροφορίες για την υπερισχύουσα κλάση οι οποίες στέλνονται από την SurfExtractionService και τις εμφανίζει. Συγκεκριμένα, διαβάζει το επίσημο όνομα της κλάσης, το όνομα της εικόνας που θα εμφανιστεί (βρίσκεται στα assets της εφαρμογής), την περιγραφή της και τις συντεταγμένες της. Κατοπιν τις εμφανίζει κατάλληλα στον χρήστη. 96 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

97 Κλάση Class_Info Η κλάση αυτή μοιάζει στην κλάση GlobalClass, διότι χρησιμοποιείται μόνο για αποθήκευση τιμών στα πεδία τις κλάσης. Συγκεκριμένα, η κλάση έχει τα εξής πεδία: class_name (όνομα κλάσης χρησιμοποιείται για την επιλογή της κατάλληλης εικόνας από τα assets όταν γίνει η εμφάνιση πληροφοριών από την κλάση ClassDescriptionActivity.) official_name (επίσημη ονομασία κλάσης - POI) description (συντομη περιγραφή και πληροφορίες για το σημείο ενδιαφέροντος) lat & lng (συντεταγμένες του POI) threshold384x512 (όρια εμπιστοσύνης για την ανάλυση 384x512) threshold512x768 (όρια εμπιστοσύνης για την ανάλυση 512x768) threshold768x1024 (όρια εμπιστοσύνης για την ανάλυση 768x1024) ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 97

98 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ Κλάση ImageScaling Η εν λόγω κλάση περιέχει όλες τις συναρτήσεις απαραίτητες για την κλιμάκωση των εικόνων σύμφωνα με την λογική της εφαρμογής χρησιμοποιώντας τα εργαλεία του Android για την διαχείριση εικόνων. 98 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

99 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ 99

100 ΧΡΙΣΤΕΛΗΣ ΕΥΑΓΓΕΛΟΣ Κλάση MyArrayAdapter Η κλάση αυτή μας βοηθά στην δημιουργία της λίστας των διαθέσιμων POIs, η οποία εμφανίζεται με το κάλεσμα της κλάσης ListOfPOIsActivity. 100 ΑΝΑΓΝΩΡΙΣΗ ΕΙΚΟΝΩΝ ΣΕ ΕΞΥΠΝΕΣ ΣΥΣΚΕΥΕΣ

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

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

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

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

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

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

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

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Data Mining - Classification Data Mining Ανακάλυψη προτύπων σε μεγάλο όγκο δεδομένων. Σαν πεδίο περιλαμβάνει κλάσεις εργασιών: Anomaly Detection:

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

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

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

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

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Εισηγητής: ρ Ηλίας Ζαφειρόπουλος Εισαγωγή Ιατρικά δεδοµένα: Συλλογή Οργάνωση Αξιοποίηση Data Mining ιαχείριση εδοµένων Εκπαίδευση

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων Ενότητα 5: Κατηγοριοποίηση Μέρος Α Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το

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

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Verson 2 1 M = 1 N = N prob k N k { k n ω wrongly classfed} = (1 ) N k 2 Η συνάρτηση πιθανοφάνειας L(p) μεγιστοποιείται όταν =k/n. 3 Αφού τα s είναι άγνωστα,

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

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων»

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

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων Ενότητα 6: Κατηγοριοποίηση Μέρος Β Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το

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

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Verson ΧΑΡΤΟΓΡΑΦΗΣΗ ΤΟΥ ΧΩΡΟΥ ΤΩΝ ΤΑΞΙΝΟΜΗΤΩΝ Ταξινομητές Ταξινομητές συναρτ. διάκρισης Ταξινομητές επιφανειών απόφ. Παραμετρικοί ταξινομητές Μη παραμετρικοί

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

Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση 24/6/2013. Τηλεπισκόπηση. Κ. Ποϊραζίδης ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ

Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση 24/6/2013. Τηλεπισκόπηση. Κ. Ποϊραζίδης ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ Κ. Ποϊραζίδης Η ταξινόμηση εικόνας αναφέρεται στην ερμηνεία με χρήση υπολογιστή των τηλεπισκοπικών εικόνων. Παρόλο που ορισμένες διαδικασίες έχουν τη δυνατότητα να συμπεριλάβουν πληροφορίες

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

Η ΜΕΘΟΔΟΣ PCA (Principle Component Analysis)

Η ΜΕΘΟΔΟΣ PCA (Principle Component Analysis) Η ΜΕΘΟΔΟΣ PCA (Principle Component Analysis) Η μέθοδος PCA (Ανάλυση Κύριων Συνιστωσών), αποτελεί μία γραμμική μέθοδο συμπίεσης Δεδομένων η οποία συνίσταται από τον επαναπροσδιορισμό των συντεταγμένων ενός

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

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

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

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

Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο

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

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

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

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

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

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 10: Δημιουργία Βάσεων Κανόνων Από Δεδομένα-Προετοιμασία συνόλου δεδομένων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων

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

Κατηγοριοποίηση βάσει διανύσματος χαρακτηριστικών

Κατηγοριοποίηση βάσει διανύσματος χαρακτηριστικών Κατηγοριοποίηση βάσει διανύσματος χαρακτηριστικών Αναπαράσταση των δεδομένων ως διανύσματα χαρακτηριστικών (feature vectors): Επιλογή ενός

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

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΔΕ. 11 ΙΟΥΝΙΟΥ 2012

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΔΕ. 11 ΙΟΥΝΙΟΥ 2012 ΔΕ. ΙΟΥΝΙΟΥ Δίνονται τα εξής πρότυπα: [ ] [ ] [ ] [ ] Άσκηση η ( μονάδες) Χρησιμοποιώντας το κριτήριο της ομοιότητας να απορριφθεί ένα χαρακτηριστικό με βάσει το συντελεστή συσχέτισης. (γράψτε ποιο χαρακτηριστικό

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

LOGO. Εξόρυξη Δεδομένων. Δειγματοληψία. Πίνακες συνάφειας. Καμπύλες ROC και AUC. Σύγκριση Μεθόδων Εξόρυξης

LOGO. Εξόρυξη Δεδομένων. Δειγματοληψία. Πίνακες συνάφειας. Καμπύλες ROC και AUC. Σύγκριση Μεθόδων Εξόρυξης Εξόρυξη Δεδομένων Δειγματοληψία Πίνακες συνάφειας Καμπύλες ROC και AUC Σύγκριση Μεθόδων Εξόρυξης Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr LOGO Συμπερισματολογία - Τι σημαίνει ; Πληθυσμός

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

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ο Κεφάλαιο: Στατιστική ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Πληθυσμός: Λέγεται ένα σύνολο στοιχείων που θέλουμε να εξετάσουμε με ένα ή περισσότερα χαρακτηριστικά. Μεταβλητές X: Ονομάζονται

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

Αποθήκες εδομένων και Εξόρυξη εδομένων:

Αποθήκες εδομένων και Εξόρυξη εδομένων: Αποθήκες εδομένων και Εξόρυξη εδομένων: Κατηγοριοποίηση: Μέρος Α http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/ Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές ακολουθούν

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

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος ΑΣΚΗΣΗ Δημιουργία Ευρετηρίων Συλλογής Κειμένων Σκοπός της άσκησης είναι η υλοποίηση ενός συστήματος επεξεργασίας

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

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

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

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

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα Τεχνητή Νοημοσύνη (Artificial Intelligence) Ανάπτυξη μεθόδων και τεχνολογιών για την επίλυση προβλημάτων στα οποία ο άνθρωπος υπερέχει (?) του υπολογιστή Συλλογισμοί

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

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #06 Πιθανοτικό Μοντέλο 1 Άδεια χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Version 2 1 ΔΕΔΟΜΕΝΑ Δεδομένα μπορούν να αποκτηθούν στα πλαίσια διαφόρων εφαρμογών, χρησιμοποιώντας, όπου είναι απαραίτητο, κατάλληλο εξοπλισμό. Μερικά παραδείγματα

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

Το μοντέλο Perceptron

Το μοντέλο Perceptron Το μοντέλο Perceptron Αποτελείται από έναν μόνο νευρώνα McCulloch-Pitts w j x x 1, x2,..., w x T 1 1 x 2 w 2 Σ u x n f(u) Άνυσμα Εισόδου s i x j x n w n -θ w w 1, w2,..., w n T Άνυσμα Βαρών 1 Το μοντέλο

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

Λίγα λόγια για τους συγγραφείς 16 Πρόλογος 17

Λίγα λόγια για τους συγγραφείς 16 Πρόλογος 17 Περιεχόμενα Λίγα λόγια για τους συγγραφείς 16 Πρόλογος 17 1 Εισαγωγή 21 1.1 Γιατί χρησιμοποιούμε τη στατιστική; 21 1.2 Τι είναι η στατιστική; 22 1.3 Περισσότερα για την επαγωγική στατιστική 23 1.4 Τρεις

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

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

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ Βασίλης Δ. Ανδριτσάνος Δρ. Αγρονόμος - Τοπογράφος Μηχανικός ΑΠΘ Επίκουρος Καθηγητής ΤΕΙ Αθήνας 3ο εξάμηνο http://eclass.teiath.gr Παρουσιάσεις,

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

Υπερπροσαρμογή (Overfitting) (1)

Υπερπροσαρμογή (Overfitting) (1) Αλγόριθμος C4.5 Αποφυγή υπερπροσαρμογής (overfitting) Reduced error pruning Rule post-pruning Χειρισμός χαρακτηριστικών συνεχών τιμών Επιλογή κατάλληλης μετρικής για την επιλογή των χαρακτηριστικών διάσπασης

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

Εξόρυξη Γνώσης από Βιολογικά εδομένα

Εξόρυξη Γνώσης από Βιολογικά εδομένα Παρουσίαση Διπλωματικής Εργασίας Εξόρυξη Γνώσης από Βιολογικά εδομένα Καρυπίδης Γεώργιος (Μ27/03) Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας MIS Πανεπιστήμιο Μακεδονίας Φεβρουάριος 2005 Εξόρυξη Γνώσης από Βιολογικά

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

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 3 Επιλογή μοντέλου Επιλογή μοντέλου Θεωρία αποφάσεων Επιλογή μοντέλου δεδομένα επικύρωσης Η επιλογή του είδους του μοντέλου που θα χρησιμοποιηθεί σε ένα πρόβλημα (π.χ.

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

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΣΕΡΡΩΝ Τμήμα ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ

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

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης). Μέθοδος Euler 3. Μέθοδοι

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

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

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

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε

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

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης Μάθημα 5 ο Δρ. Ανέστης Γ. Χατζημιχαηλίδης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ανατολικής Μακεδονίας και Θράκης 2016-2017 Διευρυμένη Υπολογιστική Νοημοσύνη (ΥΝ) Επεκτάσεις της Κλασικής ΥΝ. Μεθοδολογίες

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

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

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

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

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. Κατηγοριοποίηση. Αριστείδης Γ. Βραχάτης, Dipl-Ing, M.Sc, PhD

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. Κατηγοριοποίηση. Αριστείδης Γ. Βραχάτης, Dipl-Ing, M.Sc, PhD Τμήμα Πληροφορικής με Εφαρμογές στη Βιοϊατρική Σχολή Θετικών Επιστημών Πανεπιστήμιο Θεσσαλίας ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ Κατηγοριοποίηση Αριστείδης Γ. Βραχάτης, Dipl-Ing, M.Sc, PhD Κατηγοριοποιητής K πλησιέστερων

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

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

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

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

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM Μάθηση χωρίς επίβλεψη (unsupervised learning) Σύνολο εκπαίδευσης D={(x n )}, n=1,,n. x n =(x n1,, x nd ) T, δεν υπάρχουν τιμές-στόχοι t n. Προβλήματα μάθησης χωρίς

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

Ασκήσεις μελέτης της 19 ης διάλεξης

Ασκήσεις μελέτης της 19 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 19 ης διάλεξης 19.1. Δείξτε ότι το Perceptron με (α) συνάρτηση ενεργοποίησης

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

Ζητήματα ηήμ με τα δεδομένα

Ζητήματα ηήμ με τα δεδομένα Ζητήματα ηήμ με τα δεδομένα Ποιότητα Απαλοιφή θορύβου Εντοπισμός ανωμαλιών λώ Ελλιπείς τιμές Μετασχηματισμός Κβάντωση Μείωση μεγέθους Γραμμών: ειγματοληψία Στηλών: Ιδιοδιανύσματα, Επιλογή χαρακτηριστικών

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

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μάθηση και Γενίκευση. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Μάθηση και Γενίκευση Το Πολυεπίπεδο Perceptron (MultiLayer Perceptron (MLP)) Έστω σύνολο εκπαίδευσης D={(x n,t n )}, n=1,,n. x n =(x n1,, x nd ) T, t n =(t n1,, t np ) T Θα πρέπει το MLP να έχει d νευρώνες

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

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8 ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ Άλγεβρα 1 ο Κεφάλαιο 1. Τι ονομάζουμε αριθμητική και τι αλγεβρική παράσταση; Να δώσετε από ένα παράδειγμα. Μια παράσταση που περιέχει πράξεις με αριθμούς, καλείται αριθμητική παράσταση,

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

D. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2):91-110, 2004.

D. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2):91-110, 2004. D. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2):91-110, 2004. 1/45 Τι είναι ο SIFT-Γενικά Scale-invariant feature transform detect and

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

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Verson 2 B MH ΠΑΡΑΜΕΤΡΙΚΟΙ ΤΑΞΙΝΟΜΗΤΕΣ ΒΑΣΙΣΜΕΝΟΙ ΣΕ ΣΥΝΑΡΤΗΣΕΙΣ ΔΙΑΚΡΙΣΗΣ Η Bayesan περίπτωση - Διαθέσιμα δεδομένα: XX X 2 X M. Κάθε X αντιστοιχεί στην κλάση

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

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος xi 1 Αντικείμενα των Πιθανοτήτων και της Στατιστικής 1 1.1 Πιθανοτικά Πρότυπα και Αντικείμενο των Πιθανοτήτων, 1 1.2 Αντικείμενο της Στατιστικής, 3 1.3 Ο Ρόλος των Πιθανοτήτων

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

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

Συμπίεση Πληροφορίας Πλαισίου με Ανάλυση Κύριων Συνιστωσών

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

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

Θεωρία Αποφάσεων ο. 4 Φροντιστήριο. Λύσεις των Ασκήσεων

Θεωρία Αποφάσεων ο. 4 Φροντιστήριο. Λύσεις των Ασκήσεων Θεωρία Αποφάσεων ο Φροντιστήριο Λύσεις των Ασκήσεων Άσκηση Έστω ένα πρόβλημα ταξινόμησης μιας διάστασης με δύο κατηγορίες, όπου για κάθε κατηγορία έχουν συλλεχθεί τα παρακάτω δεδομένα: D = {, 2,,,,7 }

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

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

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

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

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 2 ο : Βασικές έννοιες. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 2 ο : Βασικές έννοιες. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Μάθημα 2 ο : Βασικές έννοιες Γεώργιος Πετάσης Ακαδημαϊκό Έτος: 2012 2013 ΤMHMA MHXANIKΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ, Πανεπιστήμιο Πατρών, 2012 2013 Γλωσσική Τεχνολογία, Μάθημα 2 ο, Βασικές

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

Μαθηματικά Γ Γυμνασίου

Μαθηματικά Γ Γυμνασίου Α λ γ ε β ρ ι κ έ ς π α ρ α σ τ ά σ ε ι ς 1.1 Πράξεις με πραγματικούς αριθμούς (επαναλήψεις συμπληρώσεις) A. Οι πραγματικοί αριθμοί και οι πράξεις τους Διδακτικοί στόχοι Θυμάμαι ποιοι αριθμοί λέγονται

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

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 16η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται σε ύλη του βιβλίου Artificial Intelligence A Modern Approach των

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

Ομαδοποίηση ΙΙ (Clustering)

Ομαδοποίηση ΙΙ (Clustering) Ομαδοποίηση ΙΙ (Clustering) Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr Αλγόριθμοι ομαδοποίησης Επίπεδοι αλγόριθμοι Αρχίζουμε με μια τυχαία ομαδοποίηση Βελτιώνουμε επαναληπτικά KMeans Ομαδοποίηση

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

Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων

Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων Οικονομικό Πανεπιστήμιο Αθηνών Πρόγραμμα Μεταπτυχιακών Σπουδών «Επιστήμη των Υπολογιστών» Διπλωματική Εργασία Μαρία-Ελένη Κολλιάρου 2

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ Ακαδ. Έτος 06-07 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Λέκτορας v.koutras@fme.aegea.gr Τηλ: 7035468 Εκτίμηση Διαστήματος

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

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διαλέξεις 5 6 Principal component analysis EM for Gaussian mixtures: μ k, Σ k, π k. Ορίζουμε το διάνυσμα z (διάσταση Κ) ώστε K p( x θ) = π ( x μ, Σ ) k = k k k Eκ των υστέρων

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

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Μέθοδοι πολυδιάστατης ελαχιστοποίησης Μέθοδοι πολυδιάστατης ελαχιστοποίησης με παραγώγους Μέθοδοι πολυδιάστατης ελαχιστοποίησης Δ. Γ. Παπαγεωργίου Τμήμα Μηχανικών Επιστήμης Υλικών Πανεπιστήμιο Ιωαννίνων dpapageo@cc.uoi.gr http://pc64.materials.uoi.gr/dpapageo

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

Μηχανική Μάθηση: γιατί;

Μηχανική Μάθηση: γιατί; Μηχανική Μάθηση Μηχανική Μάθηση: γιατί; Απαραίτητη για να μπορεί ο πράκτορας να ανταπεξέρχεται σε άγνωστα περιβάλλοντα Δεν είναι δυνατόν ο σχεδιαστής να προβλέψει όλα τα ενδεχόμενα περιβάλλοντα. Χρήσιμη

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

EΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

EΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ EΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Μέθοδοι Συμπαγούς Αναπαράστασης για Αναζήτηση Εικόνων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ Ακαδ. Έτος 08-09 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Επικ. Καθηγητής v.koutras@fme.aegea.gr Τηλ: 7035468 Εκτίμηση Διαστήματος

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η

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

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων Δρ. Ε. Χάρου Πρόγραμμα υπολογιστικής ευφυίας Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών ΕΚΕΦΕ ΔΗΜΟΚΡΙΤΟΣ exarou@iit.demokritos.gr Μηχανική

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

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

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

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

ΔΙΑΧΩΡΙΣΜΟΣ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗ ΚΡΗΤΙΚΟΥ ΚΑΤΕΡΙΝΑ NΙΚΑΚΗ ΚΑΤΕΡΙΝΑ NΙΚΟΛΑΪΔΟΥ ΧΡΥΣΑ

ΔΙΑΧΩΡΙΣΜΟΣ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗ ΚΡΗΤΙΚΟΥ ΚΑΤΕΡΙΝΑ NΙΚΑΚΗ ΚΑΤΕΡΙΝΑ NΙΚΟΛΑΪΔΟΥ ΧΡΥΣΑ ΔΙΑΧΩΡΙΣΜΟΣ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗ ΚΡΗΤΙΚΟΥ ΚΑΤΕΡΙΝΑ NΙΚΑΚΗ ΚΑΤΕΡΙΝΑ NΙΚΟΛΑΪΔΟΥ ΧΡΥΣΑ ΔΙΑΧΩΡΙΣΜΟΣ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗ Είναι τεχνικές που έχουν σκοπό: τον εντοπισμό χαρακτηριστικών των οποίων οι αριθμητικές τιμές επιτυγχάνουν

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

ΔΙΚΤΥO RBF. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΔΙΚΤΥO RBF. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων ΔΙΚΤΥO RBF Αρχιτεκτονική δικτύου RBF Δίκτυα RBF: δίκτυα συναρτήσεων πυρήνα (radial basis function networks). Πρόσθιας τροφοδότησης (feedforward) για προβλήματα μάθησης με επίβλεψη. Εναλλακτικό του MLP.

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

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

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΜΜΥ 795: ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ Ακαδηµαϊκό έτος 2010-11 Χειµερινό Εξάµηνο Τελική εξέταση Τρίτη, 21 εκεµβρίου 2010,

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

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

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

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

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

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

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

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 18η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Machine Learning του T. Mitchell, McGraw- Hill, 1997,

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

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Αλγόριθµοι Ευθυγράµµισης Τρισδιάστατων Αντικειµένων Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό & Καποδιστριακό Πανεπιστήµιο Αθηνών 20 Οκτωβρίου 2005 Εισαγωγή

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

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012 ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ Δίνονται τα εξής πρότυπα: [ ] [ ] [ ] [ ] Άσκηση η (3 μονάδες) Χρησιμοποιώντας το κριτήριο της ομοιότητας να απορριφθεί ένα χαρακτηριστικό με βάση το συντελεστή συσχέτισης. (γράψτε ποιο

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

Πρόλογος... xv. Κεφάλαιο 1. Εισαγωγικές Έννοιες... 1

Πρόλογος... xv. Κεφάλαιο 1. Εισαγωγικές Έννοιες... 1 Πρόλογος... xv Κεφάλαιο 1. Εισαγωγικές Έννοιες... 1 1.1.Ιστορική Αναδρομή... 1 1.2.Βασικές Έννοιες... 5 1.3.Πλαίσιο ειγματοληψίας (Sampling Frame)... 9 1.4.Κατηγορίες Ιατρικών Μελετών.... 11 1.4.1.Πειραµατικές

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

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Verson Σχεδιαζόντας ταξινομητές: Τα δεδομένα Στην πράξη η γνώση σχετικά διαδικασία γέννεσης των δεδομένων είναι πολύ σπάνια γνωστή. Το μόνο που έχουμε στη διάθεσή

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

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης Μάθημα 4 ο Δρ. Ανέστης Γ. Χατζημιχαηλίδης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ανατολικής Μακεδονίας και Θράκης 2016-2017 Διευρυμένη Υπολογιστική Νοημοσύνη (ΥΝ) Επεκτάσεις της Κλασικής ΥΝ. Μεθοδολογίες

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

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

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

τρόπος για να εμπεδωθεί η θεωρία. Για την επίλυση των παραδειγμάτων χρησιμοποιούνται στατιστικά πακέτα, ώστε να είναι δυνατή η ανάλυση μεγάλου όγκου ΠΡΟΛΟΓΟΣ Η γραμμική παλινδρόμηση χρησιμοποιείται για την μελέτη των σχέσεων μεταξύ μετρήσιμων μεταβλητών. Γενικότερα, η γραμμική στατιστική συμπερασματολογία αποτελεί ένα ευρύ πεδίο της στατιστικής ανάλυσης

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

Διακριτικές Συναρτήσεις

Διακριτικές Συναρτήσεις Διακριτικές Συναρτήσεις Δρ. Δηµήτριος Τσέλιος Επίκουρος Καθηγητής ΤΕΙ Θεσσαλίας Τµήµα Διοίκησης Επιχειρήσεων Θερµικός χάρτης των XYZ ξενοδοχείων σε σχέση µε τη γεωγραφική περιοχή τους P. Adamopoulos New

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

Μέθοδοι εκμάθησης ταξινομητών από θετικά παραδείγματα με αριθμητικά χαρακτηριστικά. Νικόλαος Α. Τρογκάνης Διπλωματική Εργασία

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

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

Γνωστική Ψυχολογία 3

Γνωστική Ψυχολογία 3 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Γνωστική Ψυχολογία 3 Ενότητα #9: Κατηγοριοποίηση Διδάσκων: Οικονόμου Ηλίας ΤΜΗΜΑ ΨΥΧΟΛΟΓΙΑΣ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Verson 2 1 ΧΑΡΤΟΓΡΑΦΗΣΗ ΤΟΥ ΧΩΡΟΥ ΤΩΝ ΤΑΞΙΝΟΜΗΤΩΝ Ταξινομητές Ταξινομητές συναρτ. διάκρισης Ταξινομητές επιφανειών απόφ. Παραμετρικοί ταξινομητές Μη παραμετρικοί

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

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 2 Επισκόπηση θεωρίας πιθανοτήτων Τυχαίες μεταβλητές: Βασικές έννοιες Τυχαία μεταβλητή: Μεταβλητή της οποίας δε γνωρίζουμε με βεβαιότητα την τιμή (σε αντίθεση με τις

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

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

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

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

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Σ ΤΑΤ Ι Σ Τ Ι Κ Η i ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Κατανομή Δειγματοληψίας του Δειγματικού Μέσου Ο Δειγματικός Μέσος X είναι μια Τυχαία Μεταβλητή. Καθώς η επιλογή και χρήση διαφορετικών δειγμάτων από έναν

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

Φίλτρα Kalman. Αναλυτικές μέθοδοι στη Γεωπληροφορική. ιατύπωση του βασικού προβλήματος. προβλήματος. μοντέλο. Πρωτεύων μοντέλο

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

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

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

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

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Σ ΤΑΤ Ι Σ Τ Ι Κ Η ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Τι κάνει η Στατιστική Στατιστική (Statistics) Μετατρέπει αριθμητικά δεδομένα σε χρήσιμη πληροφορία. Εξάγει συμπεράσματα για έναν πληθυσμό. Τις περισσότερες

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

κυρτών και σύνθετων σωμάτων

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

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

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών 7. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης) 7. Μέθοδος Euler 7.3

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

Ενδεικτικές Ερωτήσεις Θεωρίας

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

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

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

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

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

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

ΕΠΕΞΕΡΓΑΣΙΑ & ΑΝΑΛΥΣΗ ΙΑΤΡΙΚΩΝ ΣΗΜΑΤΩΝ BIOMIG Medical Image Processing, Algorithms and Applications http://biomig.ntua.gr ΕΠΕΞΕΡΓΑΣΙΑ & ΑΝΑΛΥΣΗ ΙΑΤΡΙΚΩΝ ΣΗΜΑΤΩΝ Εισαγωγή στην MRI και στην fmri ΔΡ. Γ. ΜΑΤΣΟΠΟΥΛΟΣ ΑΝ. ΚΑΘΗΓΗΤΗΣ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv Σ ΤΑΤ Ι Σ Τ Ι Κ Η i Statisticum collegium iv Στατιστική Συμπερασματολογία Ι Σημειακές Εκτιμήσεις Διαστήματα Εμπιστοσύνης Στατιστική Συμπερασματολογία (Statistical Inference) Το πεδίο της Στατιστικής Συμπερασματολογία,

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