Μεταπτυχιακή Διπλωματική Εργασία. Ανάκτηση Σχημάτων με Χρήση Απόστασης Διάχυσης ΚΑΤΣΑΡΛΙΝΟΥ ΟΥΡΑΝΙΑ Α.Μ. 129 ΤΖΕΛΕΠΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ.

Σχετικά έγγραφα
Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Θεωρία Γράφων - Εισαγωγή

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Δομές Δεδομένων και Αλγόριθμοι

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Αλγόριθμοι Γραφημάτων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

Αλγόριθμοι Γραφημάτων

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

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

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

ΟΜΑΔΕΣ. Δημιουργία Ομάδων

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Κατανεμημένα Συστήματα Ι

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Γράφοι: κατευθυνόμενοι και μη

Αλγόριθμοι Γραφημάτων

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

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

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Προβλήματα Μεταφορών (Transportation)

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Μέθοδοι Σχεδίασης κίνησης

(elementary graph algorithms)

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1


Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Συστήματα συντεταγμένων

Διδάσκων: Παναγιώτης Ανδρέου

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Σχέσεις, Ιδιότητες, Κλειστότητες

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

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη

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

Network Science. Θεωρεία Γραφηµάτων (2)

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

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

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

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

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

Αλγόριθµοι και Πολυπλοκότητα

Αναζήτηση Κατά Πλάτος

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κατανεμημένα Συστήματα Ι

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Κατανεμημένα Συστήματα Ι

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Αλγόριθµοι και Πολυπλοκότητα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Αλγόριθμοι και Πολυπλοκότητα

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Επιχειρησιακή Έρευνα

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα

Κεφάλαιο 3. Γραφήµατα v1.1 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Η ΓΕΝΙΚΕΥΜΕΝΗ ΓΕΩΜΕΤΡΙΑ

u v 4 w G 2 G 1 u v w x y z 4

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #07

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

Επίλυση προβλημάτων με αναζήτηση

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

ΕΝΟΤΗΤΑ 4 ΕΙΔΗ ΓΡΑΜΜΩΝ, ΕΙΔΗ ΤΡΙΓΩΝΩΝ, ΠΑΡΑΛΛΗΛΟΓΡΑΜΜΑ, ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V

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

HY118-Διακριτά Μαθηματικά

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

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

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

Transcript:

ΔΠΜΣ ΗΛΕΚΤΡΟΝΙΚΗ και ΕΠΕΞΕΡΓΑΣΙΑ της ΠΛΗΡΟΦΟΡΙΑΣ Μεταπτυχιακή Διπλωματική Εργασία Ανάκτηση Σχημάτων με Χρήση Απόστασης Διάχυσης ΚΑΤΣΑΡΛΙΝΟΥ ΟΥΡΑΝΙΑ Α.Μ. 129 ΤΖΕΛΕΠΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ.85 Επιβλέπων: Φωτόπουλος Σπύρος, Καθηγητής Πάτρα, Ιούνιος 2013 Τριμελής Επιτροπή: Φωτόπουλος Σπύρος, Καθηγητής Ζυγούρης Ευάγγελος, Αναπληρωτής Καθηγητής Οικονόμου Γεώργιος, Καθηγητής -1-

Περίληψη Η παρούσα εργασία ασχολείται με την ανάκτηση (retrieval) σχήματος από μια βάση δεδομένων στην οποία περιλαμβάνονται ομοειδή αλλά και ανόμοια σχήματα. Τα σχήματα αυτά είναι τρισδιάστατα και παρουσιάζονται σε διάφορες μορφές. Αυτό σημαίνει ότι το ίδιο αντικείμενο μπορεί να παρουσιάζεται στην βάση δεδομένων είτε ελαφρώς παραμορφωμένο, είτε από διαφορετική γωνία είτε να έχουν μετατοπιστεί οι κινούμενοι σύνδεσμοι που μπορεί να έχει. Πρόκληση και στόχος αυτής της διπλωματικής εργασίας είναι ο αλγόριθμος που θα υλοποιήσουμε, να μπορεί να ταυτοποιεί το προς εξέταση αντικείμενο με τα σχήματα που αντιπροσωπεύουν το αυτό αντικείμενο. Ο αλγόριθμος που θα χρησιμοποιήσουμε κάνει χρήση των αποστάσεων διάχυσης (Diffusion distances), οι οποίες αποτελούν αντικείμενο έρευνας με πολλές εφαρμογές για την ανεύρεση σχήματος. -2-

Πρόλογος Αρχικά θα θέλαμε να ευχαριστήσουμε τον επιβλέποντα καθηγητή μας κ. Σπύρο Φωτόπουλο για την καθοδήγηση του και τις ώρες που αφιέρωσε στην μελέτη των όσων παρουσιάζουμε εδώ. Θα θέλαμε επίσης να ευχαριστήσουμε τις οικογένειες μας για όλα αυτά τα χρόνια που μας στηρίζουν. Ελπίζουμε η παρούσα εργασία να βοηθήσει τους αναγνώστες να γνωρίσουν το αντικείμενο της μεθόδου διάχυσης για την ταξινόμηση αντικειμένων, τη δημιουργία γράφων και κάποιες ιδιότητες αυτών και να αποτελέσει κίνητρο για περαιτέρω μελέτη. Με Εκτίμηση, Ράνια Κατσαρλίνου Παναγιώτης Τζελέπης 2013 Μεταπτυχιακοί Φοιτητές του τμήματος Φυσικής, Πανεπιστήμιο Πατρών -3-

Table of Contents ΚΕΦΑΛΑΙΟ 1... 6 ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΥΓΚΡΙΣΗ ΣΧΗΜΑΤΩΝ... 6 1.1 ΤΡΙΣΔΙΑΣΤΑΤΑ ΣΧΗΜΑΤΑ... 6 1.2 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΝΤΙΚΕΙΜΕΝΟΥ ΜΕΣΩ ΔΙΚΤΥΩΜΑΤΟΣ (MESH)... 9 1.3 ΤΡΙΓΩΝΟΠΟΙΗΣΗ DELAUNAY... 9 1.4 ΜΕΘΟΔΟΙ ΣΥΓΚΡΙΣΗΣ ΑΝΤΙΚΕΙΜΕΝΩΝ - ΓΕΝΙΚΑ... 11 1.5 ΠΕΡΙΓΡΑΦΗ ΣΤΟ ΧΩΡΟ ΤΟΥ ΣΧΗΜΑΤΟΣ... 12 ΚΕΦΑΛΑΙΟ 2... 19 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΓΡΑΦΟΥΣ... 19 2.1 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΓΡΑΦΩΝ... 19 2.2 ΕΦΑΡΜΟΓΕΣ ΓΡΑΦΩΝ... 25 2.3 ΑΛΓΟΡΙΘΜΟΙ ΓΡΑΦΩΝ... 27 ΚΕΦΑΛΑΙΟ 3... 39 ΜΕΘΟΔΟΣ ΔΙΑΧΥΣΗΣ... 39 3.1 ΕΙΣΑΓΩΓΙΚΑ ΓΙΑ ΤΗ ΜΕΘΟΔΟ... 39 3.2 ΑΝΑΛΥΣΗ ΤΗΣ ΜΕΘΟΔΟΥ... 40 3.3 ΠΥΡΗΝΕΣ ΔΙΑΧΥΣΗΣ (DIFFUSION KERNELS)... 43 3.4 ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ DDSD... 44 3.5 ΚΑΤΑΣΚΕΥΗ ΠΕΡΙΓΡΑΦΕΩΝ... 46 3.6 ΜΕΤΡΗΣΗ ΟΜΟΙΟΤΗΤΑΣ... 47 3.7 ΧΡΗΣΗ PRECISSION ΚΑΙ RECALL... 48 ΚΕΦΑΛΑΙΟ 4... 49 ΥΛΟΠΟΙΗΣΗ - ΑΝΑΛΥΣΗ ΚΩΔΙΚΑ... 49 4.1 ΠΕΡΙΓΡΑΦΗ... 49 ΚΕΦΑΛΑΙΟ 5... 65 ΑΠΟΤΕΛΕΣΜΑΤΑ - ΣΥΜΠΕΡΑΣΜΑΤΑ... 65 5.1 ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ... 65 5.2 ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 5 BINS... 66 5.3 ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 10 BINS... 73 5.4 ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 15 BINS... 79 5.5 ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 60 BINS... 85-4-

5.6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ ΜΙΚΡΗΣ ΒΕΛΤΙΩΣΗΣ ΤΟΥ ΚΩΔΙΚΑ... 93 5.6 ΣΥΜΠΕΡΑΣΜΑΤΑ... 95 ΒΙΒΛΙΟΓΡΑΦΙΑ... 97-5-

Κεφάλαιο 1 Εισαγωγή στη σύγκριση σχημάτων 1.1 Τρισδιάστατα σχήματα Ο κόσμος που αντιλαμβανόμαστε με τις αισθήσεις μας είναι τριών διαστάσεων. Αυτό σημαίνει ότι γύρω μας υπάρχει πληθώρα τρισδιάστατων σχημάτων. Ο ανθρώπινος νους έχει τη δυνατότητα να αντιλαμβάνεται τα τρισδιάστατα σχήματα και να τα ταξινομεί σωστά παρ όλες τις διαφορές ή παραμορφώσεις τους. Μπορούμε να διακρίνουμε τα σχήματα σε άκαμπτα, εύκαμπτα, αρθρωτά κλπ. Ενδεικτικά τέτοιου είδους σχήματα φαίνονται παρακάτω: μη αρθρωτά ή συμπαγή σχήματα: θεωρηθούν ως ένα ενιαίο αντικείμενο: Τα σχήματα αυτά μπορούν να Σχήμα 1-1: Απεικόνιση μη αρθρωτών σχημάτων αρθρωτά σχήματα: Είναι αυτά τα οποία αποτελούνται από διάφορα εξαρτήματα συνδεόμενα μέσω αρθρώσεων και κάθε μια από τις αρθρώσεις επιτρέπει την κίνηση των εξαρτημάτων σε σχέση με τα υπόλοιπα (σχήματα 1-2, 1-3). -6-

Σχήμα 1-2 και 1-3: Απεικόνιση αρθρωτών σχημάτων Στα παραπάνω σχήματα παρατηρούμε ότι εμφανίζεται πολλές φορές το ίδιο αντικείμενο με μικρές παραλλαγές στην εμφάνισή του. Ο ανθρώπινος νους μπορεί να το αντιληφθεί αυτό. Στόχος μας είναι να επινοήσουμε κατάλληλο αλγόριθμο -7-

που να δίνει τη δυνατότητα σε έναν υπολογιστή να ταυτοποιήσει το ίδιο αντικείμενο, ακόμα και αν έχουν μετακινηθεί οι αρθρώσεις του ή το βλέπουμε από διαφορετική οπτική γωνία Μια άλλη βασική εφαρμογή του εντοπισμού και της ταυτοποίησης αντικειμένων βρίσκουμε στο χώρο της βιολογίας. Πιο συγκεκριμένα το γεωμετρικό σχήμα ενός αντικειμένου είναι ο βασικός παράγοντας για την βιολογική δραστηριότητα στον μοριακό σχεδιασμό υπολογιστών, στον ορθολογικό σχεδιασμό των φαρμάκων, στην μοριακή σύνδεση και στην πρόβλεψης λειτουργίας. Για την αξιοποίηση της ομοιότητας σχημάτων μεταξύ μορίων, ένα χρήσιμο εργαλείο είναι η σύγκριση μοριακών σημάτων (Molecular Shape Comparison) που συγκρίνει τα σχήματα δύο ή και περισσότερων μορίων και προσδιορίζει τα κοινά χωρικά τους χαρακτηριστικά. Στο σχεδιασμό υπολογιστών μια εναλλακτική μέθοδος για εικονική διαλογή εκμεταλλεύεται την σύγκριση MSC για την αναζήτηση από μια μοριακή βάση δεδομένων τις ενώσεις εκείνες που μοιάζουν περισσότερο με ένα δείγμα. Η βασική παραδοχή είναι ότι τα μόρια που είναι παρόμοια με το ενεργό μόριο δείγμα είναι πιθανό να μοιράζονται παρόμοιες ιδιότητες. Ένα κύριο πλεονέκτημα της MSC είναι ότι τα μόρια με ομοιότητα σχήματος μπορούν να βρεθούν χωρίς οποιαδήποτε προδιαγραφή της χημικής δομής. Ωστόσο, μια αποτελεσματική μέθοδος MSC είναι ακόμη μια πρόκληση, λόγω της μεγάλης πολυπλοκότητας των μοριακών σχημάτων 3D. Παρά το γεγονός ότι πολλοί ερευνητές έχουν προτείνει διάφορες μεθόδους για τη σύγκριση σχημάτων [1, 10], τα περισσότερα από αυτά αφορούν τη σύγκριση άκαμπτων αντικειμένων 3D, ενώ λιγότερη προσοχή έχει δοθεί στα παραμορφωμένα σχήματα των εύκαμπτων αντικειμένων. Παρ 'όλα αυτά, πολλά αντικείμενα είναι ευέλικτα και αυτή η ευελιξία είναι συχνά μέρος της λειτουργίας τους, η οποία μπορεί να οδηγήσει σε σημαντικές αλλαγές στο σχήμα τους. Ομοιότητες στο σχήμα μεταξύ αντικειμένων μπορεί να χαθούν όταν οι διαφορετικές διαμορφώσεις του ίδιου αντικειμένου συγκρίνονται μεταξύ τους ως άκαμπτα σώματα. Αρκετές πρόσφατες μέθοδοι προτάθηκαν για την αντιμετώπιση αυτού του προβλήματος εξετάζοντας αντικείμενα σαν εύκαμπτα σχήματα, αλλά -8-

αυτές οι μέθοδοι δεν μπορούν να χειριστούν καλά την παραμόρφωση σχήματος των αντικειμένων με τοπολογικές αλλαγές. 1.2 Αναπαράσταση αντικειμένου μέσω δικτυώματος (Mesh) Ο κλασσικός τρόπος περιγραφής είναι με την «αναπαράσταση μέσω δικτυώματος» (Mesh) όπου το δίκτυο της επιφάνειας δημιουργείται με τριγωνοποίηση (Triangulation). Στη γεωμετρία, η τριγωνοποίηση είναι η διαδικασία υποδιαίρεσης ενός γεωμετρικού αντικειμένου σε ένα σύνολο μικρότερων σχημάτων. Τριγωνοποίηση ενός τρισδιάστατου σχήματος συνεπάγεται την υποδιαίρεση σε τετράεδρα ή σε τρίγωνα (εξ ου και το όνομα). Τα τρίγωνα αυτά έχουν κορυφές τα σημεία του αντικειμένου και μεταξύ τους μοιράζονται κοινές ακμές χωρίς όμως να τέμνονται μεταξύ τους οι ακμές. Κάθε τρίγωνο δημιουργεί μια μικρή επιφάνεια (face) και το σύνολο όλων αυτών των επιφανειών αναπαριστούν το γεωμετρικό σχήμα. Σχήμα 1-4: Απεικόνιση τριγωνοποίησης σε αντικείμενα 1.3 Τριγωνοποίηση Delaunay Για την τριγωνοποίηση ενός δυσδιάστατου ή τρισδιάστατου αντικειμένου έχουν προταθεί διάφοροι αλγόριθμοι. Ο πιο γνωστός αλγόριθμος ανακαλύφθηκε από τον Ρώσο μαθηματικό Boris Delaunay το 1934. Η τριγωνοποίηση Delaunay για ένα σύνολο P σημείων είναι μια τριγωνοποίηση DΤ(P) η οποία ικανοποιεί τη συνθήκη -9-

όπου κανένα σημείο του συνόλου P δεν είναι μέσα σε περιγεγραμμένο κύκλο για το επίπεδο (ή σφαίρα για παραπάνω των τριών διαστάσεων αντικειμένων) από τα τρίγωνα που σχηματίστηκαν. Αυτή η τριγωνοποίηση μεγιστοποιεί την ελάχιστη γωνία όλων των γωνιών των τριγώνων. Για ένα σύνολο σημείων στην ίδια γραμμή, δεν υπάρχει τριγωνοποίηση Delaunay (η έννοια της τριγωνοποίησης είναι εκφυλισμένη σε αυτή την περίπτωση. Για τέσσερα ή περισσότερα σημεία στον ίδιο κύκλο (π.χ. κορυφές ενός ορθογωνίου) η τριγωνοποίηση Delaunay δεν είναι μοναδική: κάθε μία από τις δύο πιθανές τριγωνοποιήσεις οι οποίες χωρίζουν το τετράπλευρο σε δύο τρίγωνα ικανοποιεί την "κατάσταση Delaunay", δηλαδή, την απαίτηση οι περιγεγραμμένοι κύκλοι όλων των τριγώνων να είναι «άδειοι» από σημεία. Αν n ο αριθμός των σημείων και d ο αριθμός των διαστάσεων τότε κάποιες βασικές ιδιότητες του είναι οι παρακάτω: Η ένωση όλων των τριγώνων που σχηματίζονται περνά από το σύνολο των σημείων n. Η τριγωνοποίηση Delaunay περιέχει O (n d / 2 ) τρίγωνα. Στο επίπεδο (όταν d = 2), εάν υπάρχουν b κορυφές, τότε οποιαδήποτε τριγωνοποίηση των σημείων έχει το πολύ 2n - 2 - b τρίγωνα, συν μία εξωτερική όψη. Στο επίπεδο, κάθε κορυφή περιβάλλεται κατά μέσο όρο από έξι τρίγωνα. Βασικό χαρακτηριστικό της τριγωνοποίησης Delaunay είναι ότι μεγιστοποιεί την ελάχιστη γωνία που σχηματίζεται στα τρίγωνα. Ωστόσο, η τριγωνοποίηση Delaunay δεν ελαχιστοποιεί απαραίτητα την μέγιστη γωνία. Ένας κύκλος που περικλείει οποιοδήποτε τρίγωνο Delaunay δεν περιέχει άλλα σημεία στο εσωτερικό του. Εάν ένας κύκλος που διέρχεται από δύο από τα σημεία n δεν περιέχει κανένα άλλο από αυτά στο εσωτερικό του, τότε το τμήμα που συνδέει αυτά τα δύο σημεία είναι μια ακμή της τριγωνοποίησης Delaunay των δεδομένων σημείων. -10-

Παραδείγματα τριγωνοποίησης με βάση τον αλγόριθμο Delaunay φαίνονται παρακάτω: Σχήμα 1-5: Χρήση της τριγωνοποίησης Delaunay σε σύνολο σημείων 1.4 Μέθοδοι σύγκρισης αντικειμένων - γενικά Οι μέθοδοι σύγκρισης αντικειμένων μπορούν να διαιρεθούν σε δύο κατηγορίες. Μία κατηγορία της μεθόδου, που ονομάζεται υπέρθεση μεθόδου, βασίζεται στην εύρεση της βέλτιστης υπέρθεσης ή ευθυγράμμισης δύο ή περισσότερων συγκρινόμενων αντικειμένων. Οι μέθοδοι υπέρθεσης συγκρίνουν συνήθως μορφές σε ένα συγκεκριμένο σύστημα συντεταγμένων με μια a priori υπέρθεση ή ευθυγράμμιση. Μία άλλη κατηγορία, είναι οι μέθοδοι περιγραφής βασισμένες στα χαρακτηριστικά του σχήματος Αυτές οι μέθοδοι είναι ανεξάρτητες του προσανατολισμού και της θέσης του αντικειμένου. Η συγκεκριμένη μέθοδος χρησιμοποιεί έναν Descriptor για να αντιπροσωπεύσει το σχήμα του αντικειμένου. Οι μέθοδοι αυτοί υπολογίζουν το ποσοστό ομοιότητας συγκρίνοντας τους αντίστοιχους Descriptors μεταξύ δύο μορφών χωρίς να χρειάζεται κάποια υπέρθεση. Ένας 3D Descriptor σχήματος είναι μια συμπαγής αναπαράσταση της μορφής του σχήματος. Ο Descriptor σχήματος χρησιμοποιείται συχνά ως δείκτης σε μια βάση δεδομένων σχημάτων η οποία επιτρέπει γρήγορη δειγματοληψία και ανάκτηση. -11-

Οι μέθοδοι αυτές είναι απλούστερες και πολύ πιο γρήγορες από τις παραδοσιακές μεθόδους υπέρθεσης. Αρκετά πρόσφατες εργασίες που σχετίζονται με τη χρήση των περιγραφέων σχήματος έχουν αναπτυχθεί όπως ο σφαιρικός αρμονικός Περιγραφέας και ο 3D Zernike Περιγραφέας. Αυτοί οι Descriptors είναι αμετάβλητoι σε γεωμετρικούς μετασχηματισμούς (affine transformation) και είναι συχνά αποτελεσματικοί για τη σύλληψη άκαμπτων αντικειμένων. Εντούτοις, οι περισσότερες από αυτές τις μεθόδους δεν είναι αμετάβλητες στην παραμόρφωση και δεν μπορούν να υποστηρίξουν ευέλικτη σύγκριση σχημάτων. Η αμετάβλητη στην παραμόρφωση αναπαράσταση των εύκαμπτων σχημάτων είναι ένα δύσκολο πρόβλημα στον τομέα της ανάλυσης σχήματος. Αρκετές πρόσφατες εργασίες επικεντρώνονται στο πρόβλημα της σύγκρισης μη άκαμπτων σχημάτων στα γραφικά υπολογιστών και την αναγνώριση προτύπων. Ωστόσο, οι υπάρχουσες μέθοδοι περιγραφής δεν έχουν καλή απόδοση για αρθρωτά αντικείμενα λόγω της πολύπλοκης παραμόρφωσης στο σχήμα τους. Είναι πέρα από το πεδίο θέματος της συγκεκριμένης εργασίας να παρουσιαστεί μια λεπτομερή επισκόπηση όλων των υπαρχουσών μεθόδων. Εμείς θα αναφέρουμε μόνο τα πιο σχετικά αποτελέσματα. 1.5 Περιγραφή στο χώρο του σχήματος Με βάση την τριγωνοποίηση έχουμε πετύχει να αναπαραστήσουμε ένα αντικείμενο σε ένα σύνολο σημείων που συνδέονται μεταξύ τους. Το σύνολο αυτών των σημείων αναπαριστά πλέον ένα γράφο, ο οποίος αποτελεί μια αυτοτελή ενότητα μελέτης. Σε επόμενο κεφάλαιο (κεφάλαιο 2) γίνεται ανάλυση των ιδιοτήτων ενός γράφου, καθώς και αλγορίθμων για την «μετάβαση» μέσα σε ένα γράφο. Στην παρούσα φάση μας ενδιαφέρει να δούμε πως μπορούμε να ορίσουμε την απόσταση οποιοδήποτε σημείου πάνω σε ένα (τριγωνοποιημένο) αντικείμενο από οποιοδήποτε άλλο και να την χρησιμοποιήσουμε ως βάση για τον Descriptor ενός αντικειμένου. -12-

Ο «distance descriptor» μεταξύ δειγματοληπτημένων σημείων ανά ζεύγη σε επιφάνειες σχήματος μπορεί να είναι η απλούστερη και η πιο ευρέως χρησιμοποιούμενη μέθοδος «Περιγραφέα σχήματος» σε 3D ανάκτηση σχήματος. Η συγκεκριμένη εργασία ανήκει επίσης σε αυτή την κατηγορία. Πρώτα παρουσιάζονται τρεις αντιπροσωπευτικές περιγραφείς απόστασης: η Ευκλείδεια απόσταση (ED), η γεωδαιτική απόσταση (GD) και η εσωτερική απόσταση (ID). 1.5.1 Ευκλείδεια απόσταση Ο πρώτος βασικός ορισμός απόστασης είναι η ευκλείδεια απόσταση. Ως ευκλείδεια απόσταση ορίζεται η απόλυτη απόσταση ενός σημείου από ένα άλλο. Σχήμα 1-6: Παράδειγμα εύρεσης της ευκλείδειας απόστασης στο δισδιάστατο χώρο -13-

O περιγραφέας ευκλείδειας απόστασης (ED descriptor) που προκύπτει (που ονομάζεται επίσης D2) συνήθως αντιπροσωπεύεται από ένα ιστόγραμμα των τιμών αποστάσεως. Υπάρχουν τρία βήματα για τον υπολογισμό του ED descriptor. Πρώτον, επιλέγονται τυχαία ορισμένα σημεία ως δείγματα πάνω στην επιφάνεια του σχήματος και στην συνέχεια υπολογίζονται οι Ευκλείδειες αποστάσεις μεταξύ όλων των σημείων. Στο τέλος χτίζεται το ιστόγραμμα της κατανομής των αποστάσεων. Ο βαθμός ομοιότητας των σχημάτων μετράται από τις διαφορές μεταξύ των αντίστοιχων ιστογραμμάτων τους. Ο περιγραφέας ED έχει αρκετά πλεονεκτήματα. Είναι αναλλοίωτος στην περιστροφή, είναι υπολογιστικά φθηνός και περιγράφει το συνολικό σχήμα, το οποίο σημαίνει ότι δεν επηρεάζεται εύκολα από μικρές παραμορφώσεις του σχήματος. Παρ' όλα αυτά, το ιστόγραμμα ED δεν μπορεί να συλλάβει την ομοιότητα του σχήματος εύκαμπτων αντικειμένων. Ο λόγος είναι ότι δεν λαμβάνει υπόψη της τη μορφή του αντικειμένου με αποτέλεσμα να προκύπτουν εσφαλμένα συμπεράσματα από τη χρήση της. Τέτοιο παράδειγμα φαίνεται παρακάτω: Σχήμα 1-7: Παράδειγμα ενός αρθρωτού αντικειμένου Στο παραπάνω σχήμα εμφανίζεται το ίδιο αντικείμενο σε δύο διαφορετικές φάσεις. Η ευκλείδεια απόσταση ανάμεσα σε δύο ίδια σημεία είναι διαφορετική -14-

στις δύο εικόνες. Ο λόγος που συμβαίνει αυτό είναι ότι η ευκλείδεια απόσταση δε λαμβάνει υπόψη της την εσωτερική γεωμετρία του αντικειμένου. 1.5.2 Εσωτερική και Γεωδαιτική απόσταση Για να ξεπεραστεί το μειονέκτημα του ED, μπορεί κανείς απλά να εφαρμόσει στο επίπεδο την εσωτερική απόσταση (Inner distance) ή για χώρο περισσότερων διαστάσεων την γεωδαιτική απόσταση (Geodesic Distance) ως Περιγραφέα σχήματος αντί του ED. Με τον όρο γεωδαιτική απόσταση μεταξύ δύο σημείων ενός σχήματος ορίζουμε την μικρότερη δυνατή διαδρομή που τα συνδέει, η οποία διαδρομή «κινείται» εντός της επιφάνειας του γεωμετρικού σχήματος. Στην περίπτωση των γράφων, η απόσταση ορίζεται ως το μικρότερο μονοπάτι που μπορεί να σχηματιστεί από την ένωση των ακμών του γράφου. Στην περίπτωση που βρισκόμαστε σε χώρο δύο διαστάσεων (επίπεδο) τότε μιλάμε για την εσωτερική απόσταση (inner distance). Παραδείγματα γεωδαιτικών ή εσωτερικών αποστάσεων μεταξυ σημείων σε αντικέιμενα ή γράφους φαίνονται παρακάτω (σχήμα 1-8): Σχήμα 1-8: Παραδείγματα γεωδαιτικής απόστασης Για την περιγραφή ενός αντικειμένου στο δισδιάστατο χώρο η χρήση της εσωτερικής απόστασης αποτελεί βασικό στοιχείο. Πλήθος αλγορίθμων που -15-

κάνουν χρήση της εσωτερικής απόστασης έχουν προταθεί με πολύ καλά αποτελέσματα στην ταξινόμηση αντικειμένων στο επίπεδο. Ένας από αυτούς τους αλγορίθμους χρησιμοποιεί την έννοια της εσωτερικής απόστασης προκειμένου να «εντοπίσει» το σύνολο των διαφορετικών συνδέσμων ενός αντικειμένου στο επίπεδο. Ο λόγος που το κάνει αυτό είναι ότι είναι πιο εύκολο να συγκριθούν παρόμοια τμήματα μεταξύ αντικειμένων από ότι ολόκληρα τα αντικείμενα. Μια τέτοια εφαρμογή κατάτμησης σχήματος με χρήση των εσωτερικών αποστάσεων φαίνεται παρακάτω. Αν υποθέσουμε ότι έχουμε αναπαραστήσει ένα αντικείμενο με ένα σύνολο σημείων τότε είναι εμφανές ότι για σημεία που ανήκουν στην ίδια άρθρωση ταυτίζονται η ευκλείδεια και η εσωτερική απόσταση. Αντιθέτως σημεία σε διαφορετικές αρθρώσεις εμφανίζουν διαφορετικές τιμές για την μεταξύ τους ευκλείδεια απόσταση από ότι την εσωτερική. Αυτό φαίνεται παρακάτω: Σχήμα 1-9: Παράδειγμα εσωτερικής και ευκλείδειας απόστασης Με βάση το παραπάνω σκεπτικό και με βάση την Ευκλείδεια και την Εσωτερική απόσταση χρησιμοποιείται η παρακάτω εξίσωση προκειμένου να βρεθεί αν το σύνολο t των σημείων ενός αντικειμένου ανήκει στην ίδια άρθρωση ή όχι: -16-

Στην παραπάνω σχέση αν η τιμή της εξίσωσης είναι 1 τότε το σύνολο των σημείων ανήκει στην ίδια άρθρωση. Όσο μικραίνει η τιμή της τόσο μεγαλύτερο πλήθος σημειών του αντικειμένου ανήκουν σε διαφορετικές αρθρώσεις. Έτσι ο συγκεκριμένος αλγόριθμος τμηματοποιεί ένα αντικείμενο σε ξεχωριστά τμήματα κάνοντας χρήση του αλγορίθμου Normalized cuts [5] και στη συνέχεια ελέγχει αν το κάθε τμήμα από αυτά χρειάζεται επιπλέον «σπάσιμο» κάνοντας χρήση της παραπάνω εξίσωσης. Ολοκληρώνεται ο παραπάνω αλγόριθμος όταν έχει προκύψει ο ελάχιστος αριθμός διαφορετικών αρθρώσεων του αντικειμένου. Ο παρακάτω στόχος φαίνεται παρακάτω όπου οι διαφορετικές αρθρώσεις που προκύπτουν είναι χρωματισμένες με διαφορετικό χρώμα. Σχήμα 1-10: Χρήση του αλγορίθμου εύρεσης του συνόλου των αρθρώσεων -17-

Έχοντας πετύχει να «ξεχωρίσουμε» το αντικείμενο σε σύνολο μικρότερων αρθρώσεων μας δίνει τη δυνατότητα ευκολότερης σύγκρισής του με ομοειδή αντικείμενα. Παρά το γεγονός ότι η μέθοδος αυτή είναι αναλλοίωτη στην κάμψη της επιφάνειας, δεν μπορεί να αντιμετωπίσει ισχυρή παραμόρφωση ενός σχήματος. Τέτοιο πρόβλημα καθίσταται σε περιπτώσεις που η παραμόρφωση ενός σχήματος οδηγεί σε «βραχυκύκλωμα» διαφορετικών σημείων, όπως φαίνεται και παρακάτω: Σχήμα 1-11: Παράδειγμα παραμόρφωσης του ίδιου αντικειμένου σε δύο φάσεις (B και C) Η εσωτερική απόσταση μεταξύ δύο σημείων x και y είναι η ίδια για τα αντικείμενα A και B. Παρατηρούμε όμως ότι στην τρίτη περίπτωση δημιουργείται ένα καινούριο εσωτερικό μονοπάτι το οποίο αλλοιώνει την εσωτερική απόσταση μεταξύ των σημείων. Οπότε καθίσταται αναγκαία η εύρεση καλύτερης μεθόδου για την περιγραφή σχήματος. Μια τέτοια μέθοδος είναι γίνεται εφικτή με τη χρήση των αποστάσεων διάχυσης. Οι αποστάσεις διάχυσης μεταξύ δύο σημείων στην ουσία αποτελούν το μέσο όρο των αποστάσεων όλων των διαφορετικών μονοπατιών που συνδέουν αυτά τα δύο σημεία. Οπότε είναι λογικό να είναι περισσότερο αμετάβλητα στην παραμόρφωση σχήματος. Ανάλυση της έννοιας των αποστάσεων διάχυσης πραγματοποιείται στο κεφάλαιο 3. -18-

Κεφάλαιο 2 Εισαγωγή στους γράφους 2.1 Βασικές έννοιες γράφων Στο παρόν κεφάλαιο παρουσιάζονται οι βασικές έννοιες και τα βασικά χαρακτηριστικά των γράφων. Παράλληλα δίνεται και ο αλγόριθμος Dikstra που μπορεί να χρησιμοποιηθεί ως πρώτο βήμα του αλγορίθμου των αποστάσεων διάχυσης για την εύρεση των συντομότερων μονοπατιών. Ένας γράφος G=(V,E) αποτελείται από ένα σύνολο κόμβων (vertices ή nodes) V και ένα σύνολο ακμών (edges) E: Κάθε ακμή ορίζεται ως ένα μη διατεταγμένο ζεύγος δύο κόμβων: Έτσι η ακμή α θα ορίζεται ως α= (κ1,κ2) αν και μόνο αν η α είναι προσπίπτουσα στους κόμβους κ1, κ2. Παρακάτω φαίνεται ένα τέτοιο παράδειγμα γράφου μαζί με τους κόμβους και τις ακμές του: -19-

Σχήμα 2.1 Παράδειγμα γράφου Ένας γράφος G=(V,E) μπορεί εναλλακτικά να αναπαρασταθεί από έναν πίνακα γειτνίασης (adjacency matrix). Ο πίνακας έχει μέγεθος nxn. Κάθε στοιχείο του αi,j (όπου i,j< V ) ορίζεται ως : Ένα τέτοιο παράδειγμα φαίνεται παρακάτω: Σχήμα 2.2 Παράδειγμα γράφου Δύο ακμές προσπίπτουσες στο ίδιο ζεύγος κόμβων ονομάζονται παράλληλες. Μία ακμή προσπίπτουσα στον ίδιο κόμβο ονομάζεται βρόχος (loop). Ένας γράφος χωρίς παράλληλες ακμές και βρόχους ονομάζεται απλός. Ένα μονοπάτι (path) από τον κόμβο κ0 στον κόμβο κτ ορίζεται ως μία ακολουθία κόμβων <κ0,1,,κi,,κτ> τέτοια ώστε: o Για κάθε κόμβο της ακολουθίας κi (κi κτ), όπου κi+1 είναι ο επόμενος κόμβος στην ακολουθία. -20-

o Ως απόσταση δύο κόμβων ορίζεται το συντομότερο μονοπάτι ανάμεσα τους. Ένα μονοπάτι είναι απλό όταν περνάει ακριβώς μία φορά από κάθε κόμβο. Ένα μονοπάτι είναι κυκλικό όταν έχει ως αρχή και τέλος τον ίδιο κόμβο. Ένα δέντρο (tree) είναι ένας μη κυκλικός διασυνδεδεμένος γράφος. Μια ένωση από δέντρα σχηματίζει ένα δάσος (forest) Σχήμα 2.3 Παράδειγμα ενός δέντρου (αριστερά) και ενός δάσους (δεξιά) Ένας γράφος ονομάζεται συνδεδεμένος αν υπάρχει μονοπάτι μεταξύ δύο οποιονδήποτε κόμβων του Ένας γράφος ονομάζεται επίπεδος αν μπορεί να σχεδιαστεί σε ένα επίπεδο χωρίς να τέμνονται μεταξύ τους καμία από τις ακμές του. Το μήκος ενός μονοπατιού ορίζεται ως ο αριθμός των ακμών στο μονοπάτι Ένας κατευθυνόμενος (directed) γράφος ή δίγραφος (digraph) G=(V,E) αποτελείται από ένα σύνολο κόμβων V και ακμών E, όπου έχει οριστεί η φορά των ακμών Ε. Σχήμα 2.4 Παράδειγμα μη κατευθυνόμενου (a) και κατευθυνόμενου (β) γράφου Ένας μη κατευθυνόμενος γράφος είναι συνδεδεμένος εάν κάθε ζεύγος των κορυφών είναι συνδεδεμένο με ένα μονοπάτι -21-

Κάθε στοιχείο του συνόλου E είναι ένα διατεταγμένο ζεύγος κόμβων. Οι ακμές αναπαρίστανται ως βέλη. Η φορά ενός βέλους δείχνει προς το δεύτερο κόμβο του διατεταγμένου ζεύγους που ορίζει την αντίστοιχη ακμή. Για μία ακμή a=(κ1,κ2) (όπου κ1,κ2 ανήκουν στο V) η αντίστοιχη αντιστραμμένη ακμή a ορίζεται ως a = (κ2,κ1). Ένας γράφος είναι συμμετρικός αν για κάθε ακμή α που ανήκει στο Ε, η αντίστοιχη αντιστραμμένη ακμή a ανήκει επίσης στο Ε. Ένα τέτοιο παράδειγμα φαίνεται παρακάτω: Σχήμα 2.5 Παράδειγμα συμμετρικού γράφου Ένας γράφος μπορεί να έχει συσχετισμένο έναν συντελεστή βάρους με κάθε ακμή του. Στην περίπτωση αυτή το μήκος ενός μονοπατιού ορίζεται ως το άθροισμα των συντελεστών βάρους των ακμών στην κατεύθυνση του μονοπατιού. Έτσι προκύπτει ότι η μικρότερη απόσταση μεταξύ δύο κόμβων και το μικρότερο μήκος μονοπατιού μεταξύ των κόμβων αυτών δε συμπίπτουν κατ ανάγκη, όπως φαίνεται και στο παρακάτω παράδειγμα: -22-

Σχήμα 2.6 Παράδειγμα συμμετρικού γράφου Ένας γράφος μπορεί να περιγραφεί και από τον πίνακα εμφάνισης (incidence matrix) nxm T. Για έναν μη κατευθυνόμενο γράφο T(i,k) = T(j,k)=1 εάν ek=(vi,vj). Για έναν κατευθυνόμενο γράφο T(i,k) = -1 και T(j,k)=1 εάν ek=(vi,vj). Για τους παρακάτω γράφους: Σχήμα 2.7 Μη κατευθυνόμενος και κατευθυνόμενος γράφος οι πίνακες εμφάνισης είναι: Για λόγους μείωσης της μνήμης η αναπαράσταση των γράφων θα μπορούσε να πραγματοποιηθεί και με μια απλοποιημένη εκδοχή (sparse) των -23-

πινάκων Α και Τ. Αυτή είναι στην ουσία μια λίστα των κορυφών οργανωμένες ανά κόμβους, όπως φαίνεται παρακάτω: Σχήμα 2.8 Αναπαράσταση γράφου σε sparse δομή Εδώ πετυχαίνουμε να μειώνουμε το μέγεθος της αναπαράστασης του γράφου γραμμικά με τον αριθμό των κορυφών του. Συγκεκριμένα προκύπτει ότι η μνήμη που χρειάζεται προκειμένου να αναπαρασταθεί ένας γράφος είναι: L = (n+m)logn όπου το logn είναι λόγω του γεγονότος ότι τόσα bits χρειάζονται για να αναπαρασταθούν οι δείκτες των κορυφών. -24-

2.2 Εφαρμογές γράφων Η εύρεση κατάλληλων μονοπατιών μέσα από τους γράφους έχει πολλές εφαρμογές. H πρώτη εφαρμογή αποδίδεται στον Euler, στον οποίο ζητήθηκε να βρεθεί το πιο κατάλληλο μονοπάτι για να διασχίσει κάποιος και τις εφτά γέφυρες του Koningsberg. Σχήμα 2.9 Χάρτης του Koningsberg Το μονοπάτι (που ονομάστηκε Euler μονοπάτι) θα έπρεπε να διασχίζει κάθε γέφυρα του Koningsberg από μια φορά και αυτό αντιμετωπίστηκε από τον Euler με τον παρακάτω γράφο: Σχήμα 2.10 Γράφος αναπαράστασης του προβλήματος -25-

Τώρα πλέον οι γράφοι χρησιμοποιούνται σε ένα σύνολο προβλημάτων όπως: στην αξιολόγηση αποτελεσμάτων από τις μηχανές αναζήτησης: Σχήμα 2.11 Εμφάνιση κατάλληλων αποτελεσμάτων με τη χρήση γράφων στην επιλογή της καλύτερης διαδρομής στα GPS συστήματα Σχήμα 2.12 Εμφάνιση κατάλληλης διαδρομής με τη χρήση γράφων στην εύρεση ομάδων σε δίκτυα στα οποία θέλουμε να εντοπίσουμε ιεραρχίες από δομές -26-

Σχήμα 2.13 Γράφος αναπαράστασης ενός δικτύου 2.3 Αλγόριθμοι γράφων Λόγω των εφαρμογών τους έχει δημιουργηθεί ένα σύνολο αλγορίθμων που έχουν ως σκοπό να τους αποκωδικοποιήσουν, να τους ταξινομήσουν και να εντοπίσουν τα μικρότερα δυνατά μονοπάτια για κάθε περίπτωση. Παρακάτω παρουσιάζονται κάποιοι από τους πιο γνωστούς αλγορίθμους: Αλγόριθμος Dijkstra Αλγόριθμος Bellman-Ford Αλγόριθμος Floyd-Roy-Warshall 2.3.1 Αλγόριθμος Dijkstra [6] Ο αλγόριθμος Dijkstra είναι ένας αλγόριθμος αναζήτησης γράφων, ο οποίος δημοσιεύτηκε από τον ερευνητή Edsger Dijkstra το 1959 και ο οποίος λύνει το πρόβλημα εύρεσης του μικρότερου μονοπατιού για ένα γράφο με μη μηδενικές ακμές. Η βασική φιλοσοφία του αλγορίθμου φαίνεται παρακάτω: -27-

1. Ας υποθέσουμε ότι έχουμε έναν κόμβο από τον οποίο θέλουμε να βρούμε τα μικρότερο μονοπάτι που το συνδέουν με έναν άλλο κόμβο του γράφου. Ο κόμβος αυτός ονομάζεται αρχικός κόμβος και ο τελικός κόμβος ομομάζεται κόμβος προορισμού. 2. Ανάθετουμε σε κάθε κόμβο μια ενδεικτική τιμή απόστασης η οποία να είναι μηδέν για τον αρχικό κόμβο μας και άπειρη για όλους τους άλλους κόμβους. 3. Ορίζουμε τον αρχικό κόμβο ως τον τρέχων. Σημειώνουμε όλους τους υπόλοιπους κόμβους σε μια λίστα, την οποία την ονομάζουμε unvisited. 4. Για τον τρέχοντα κόμβο κάθε φορά εξετάζουμε την απόστασή του από το σύνολο των γειτόνων του. Για παράδειγμα, εάν ο τρέχων κόμβος Α σημειώνεται με μια απόσταση 6, και η ακμή που τον συνδέει με ένα γείτονα Β έχει μήκος 2, τότε η απόσταση προς Β (μέσω Α) θα είναι 6 + 2 = 8. Εάν η απόσταση αυτή είναι μικρότερη από ότι προηγουμένως, αντικαθιστούμε την απόσταση του Β. Ακόμα κι αν ένας γείτονας έχει εξεταστεί, δεν βγαίνει ακόμα από τη λίστα unvisited. 5. Όταν έχουν ελεγχθεί όλοι οι γείτονες του τρέχοντος κόμβου, θεωρούμε ότι ο τρέχων κόμβος έχει ελεγχθεί και βγαίνει απο τη λίστα unvisited. 6. Αν ο κόμβος προορισμού έχει επισημανθεί ότι έχει βγει από τη λίστα unvisited ή αν η μικρότερη απόσταση μεταξύ των κόμβων στο σύνολο unvisited είναι άπειρη, τότε ο αλγόριθμος έχει ολοκληρωθεί. 7. Επιλέγουμε τον κόμβο από τη λίστα unvisited που έχει σημανθεί με τη μικρότερη απόσταση και τον ορίζουμε το ως το νέο «τρέχοντα κόμβο» και στη συνέχεια επιστρέφουμε στο βήμα 3. Σε μορφή ψευδοκώδικα ο αλγόριθμος φαίνεται παρακάτω: 1 function Dijkstra(Graph, source): 2 for each vertex v in Graph: // Initializations 3 dist[v] := infinity ; // Unknown distance function from 4 // source to v 5 previous[v] := undefined ; // Previous node in optimal path -28-

6 end for // from source 7 8 dist[source] := 0 ; // Distance from source to source 9 Q := the set of all nodes in Graph ; // All nodes in the graph are 10 // unoptimized - thus are in Q 11 while Q is not empty: // The main loop 12 u := vertex in Q with smallest distance in dist[] ; // Source node in first case 13 remove u from Q ; 14 if dist[u] = infinity: 15 break ; // all remaining vertices are 16 end if // inaccessible from source 17 18 for each neighbor v of u: // where v has not yet been 19 // removed from Q. 20 alt := dist[u] + dist_between(u, v) ; 21 if alt < dist[v]: // Relax (u,v,a) 22 dist[v] := alt ; 23 previous[v] := u ; 24 decrease-key v in Q; // Reorder v in the Queue 25 end if 26 end for 27 end while 28 return dist; 29 endfunction Ένα παράδειγμα αυτού του αλγορίθμου φαίνεται παρακάτω. Ας υποθέσουμε ότι έχουμε τον παρακάτω γράφο στον οποίο φαίνονται οι συνδέσεις μεταξύ των κορυφών καθώς και τα βάρη των ακμών και έστω ότι θέλουμε να βρούμε το μικρότερο μονοπάτι από το Α στο D. 1 ο βήμα: Επιλέγουμε τον κόμβο Α: -29-

Σχήμα 2.14: Επιλογή κόμβου αφετηρίας 2 ο βήμα: Βρίσκουμε τις αποστάσεις με όλους τους γειτονικούς κόμβους: Σχήμα 2.15: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο 3 ο βήμα: Επιλέγουμε τον επόμενο κόμβο από τη λίστα unvisited, ο οποίος έχει τη μικρότερη απόσταση από τον Α: -30-

Σχήμα 2.16: Επιλογή επόμενου κόμβου 4 ο βήμα: Βρίσκουμε τις αποστάσεις του C από τους γειτονικούς του κόμβους: Σχήμα 2.17: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο -31-

5 ο βήμα: Επιλέγουμε τον επόμενο κόμβο από τη λίστα unvisited, ο οποίος έχει τη μικρότερη απόσταση από τον Α: Σχήμα 2.18: Επιλογή επόμενου κόμβου 6 ο βήμα: Βρίσκουμε τις αποστάσεις του Ε από τους γειτονικούς του κόμβους: Σχήμα 2.19: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο -32-

7 ο βήμα: Επιλέγουμε τον επόμενο κόμβο από τη λίστα unvisited, ο οποίος έχει τη μικρότερη απόσταση από τον Α και υπολογίζουμε ξανά τα βάρη των ακμών: Σχήμα 2.20: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο 8 ο βήμα: Επιλέγουμε τον τελευταίο κόμβο από τη λίστα unvisited που είναι και ο κόμβος προορισμού και κάνουμε έναν τελευταίο υπολογισμό: Σχήμα 2.21: Ολοκλήρωση του αλγορίθμου με επιλογή του κόμβου προορισμού -33-

2.3.2 Αλγόριθμος Bellman-Ford [7] Ο αλγόριθμος του Dijkstra βασίζεται στην άπληστη μέθοδο. Προσθέτει κορυφές αυξάνοντας την απόσταση. Αυτό έχει ως αποτέλεσμα να μην «δουλεύει» για αρνητικά βάρη ακμών. Απεναντίας ο Bellman-Ford αλγόριθμος υπολογίζει τα συντομότερα μονοπάτια σε ένα σταθμισμένο (weighted) γράφο, όπου μερικά από τα βάρη των ακμών μπορεί να είναι αρνητικά. Σε αντίθεση με την άπληστη (greedy) προσέγγιση του αλγορίθμου Dijkstra, δηλαδή την αναζήτηση για τη «μικρότερη» διαδρομή, ο Bellman-Ford αλγόριθμος αναζητά σε όλες τις ακμές και καταγράφει το συντομότερο μονοπάτι που διαπιστώθηκε. Έστω γράφος G=(V,E) με συσχετισμένους συντελεστές βάρους. Αρχικά ο αλγόριθμος εντοπίζει το ελάχιστο μονοπάτι από τον κόμβο εκκίνησης s αποτελούμενο από μία ζεύξη. Εν συνεχεία, εντοπίζει το ελάχιστο μονοπάτι από το κόμβο εκκίνησης s αποτελούμενο από δύο ζεύξεις. Εν συνεχεία, εντοπίζει το ελάχιστο μονοπάτι από τον κόμβο εκκίνησης s αποτελούμενο από τρεις ζεύξεις. Συνεχίζει κατά τον τρόπο αυτό για n-1 φορές όπου n το πλήθος των κόμβων στο σύνολο V. Αρχικά όλοι οι κόμβοι v θεωρούνται ότι έχουν άπειρη απόσταση από τον s. procedure BellmanFord(list vertices, list edges, vertex source) // This implementation takes in a graph, represented as lists of vertices and edges, // and fills two arrays (distance and predecessor) with shortest-path information // Step 1: initialize graph for each vertex v in vertices: if v is source then distance[v] := 0 else distance[v] := infinity predecessor[v] := null // Step 2: relax edges repeatedly for i from 1 to size(vertices)-1: for each edge (u, v) with weight w in edges: if distance[u] + w < distance[v]: distance[v] := distance[u] + w -34-

predecessor[v] := u // Step 3: check for negative-weight cycles for each edge (u, v) with weight w in edges: if distance[u] + w < distance[v]: error "Graph contains a negative-weight cycle" Παράδειγμα εκτέλεσης του συγκεκριμένου αλγορίθμου φαίνεται παρακάτω: Σχήμα 2.22: Γραφική αναπαράσταση αλγορίθμου Bellman-Ford 2.3.3 Αλγόριθμος Floyd-Warshall [8] Ο Floyd-Warshall αλγόριθμος συγκρίνει όλες τις πιθανές διαδρομές μέσα από το γράφο μεταξύ κάθε ζεύγους κορυφών. Είναι σε θέση να το κάνει αυτό μόνο με Θ( V 3 ) συγκρίσεις σε ένα γράφημα. Αυτό είναι αξιοσημείωτο δεδομένου ότι μπορεί να υπάρχουν μέχρι και Ω( V 2 ) ακμές στο γράφημα, και ελέγχεται κάθε συνδυασμός των ακμών. Αυτό επιτυγχάνεται με βαθμιαία βελτίωση μια εκτίμηση για τη συντομότερη διαδρομή μεταξύ δύο κορυφών, έως ότου η εκτίμηση γίνει η βέλτιστη. -35-

Ας υποθέσουμε ότι έχουμε ένα γράφημα G με κορυφές V αριθμημένες από το 1 έως το Ν. Ας θεωρήσουμε επίσης ότι έχουμε και μια συνάρτηση shortestpath(i,j,k) η οποία επιστρέφει το συντομότερο δυνατό μονοπάτι από την i στην j χρησιμοποιώντας κορυφές μόνο από το σύνολο {1,2,..., k } ως ενδιάμεσα σημεία κατά μήκος του μονοπατιού. Δεδομένου της συνάρτησης αυτής, ο στόχος μας είναι να βρούμε τη συντομότερη διαδρομή από κάθε i για κάθε j χρησιμοποιώντας μόνο τις κορυφές 1 έως k + 1. Για κάθε ένα από αυτά τα ζεύγη κορυφών, το αληθινά συντομότερο μονοπάτι θα μπορούσε να είναι είτε: 1. ένα μονοπάτι που χρησιμοποιεί μόνο τις κορυφές στο σύνολο {1,..., k} ή 2. ένα μονοπάτι που πηγαίνει από το i στο k + 1 και στη συνέχεια από την k + 1 στο j. Γνωρίζουμε ότι ο καλύτερος δρόμος από την i στην j που χρησιμοποιεί μόνο τις κορυφές 1 έως k ορίζεται από shortestpath(i, j, k), και είναι σαφές ότι αν υπήρχε καλύτερο μονοπάτι από i έως το k+1 και έως το j, τότε το μήκος αυτής της διαδρομής θα ήταν η συνένωση της συντομότερης διαδρομής από i στο k+1 (με κορυφές {1,..., k}) και της συντομότερης διαδρομής από k + 1 έως το j (επίσης με κορυφές {1,..., k}). Εάν W (i, j) είναι το βάρος της ακμής μεταξύ των κορυφών i και j, μπορούμε να ορίσουμε shortestpath (i, j, k + 1) όσον αφορά τον ακόλουθο επαναληπτικό τύπο: και ο επαναληπτικός τύπος είναι: Αυτή η φόρμουλα είναι η καρδιά του Floyd-Warshall αλγορίθμου. Ο αλγόριθμος λειτουργεί με υπολογίζοντας πρώτα την shortestpath(i, j, k) για όλα τα (i, j) ζεύγη για k = 1, έπειτα για k = 2, κλπ. Αυτή η διαδικασία συνεχίζεται μέχρι k = n, και -36-

έχουμε βρει την συντομότερη διαδρομή για όλα (i, j) ζευγάρια χρησιμοποιώντας οποιεσδήποτε ενδιάμεσες κορυφές. Ο ψευδοκώδικας για αυτή την βασική έκδοση είναι ο παρακάτω: let dist be a V V array of minimum distances initialized to (infinity) for each vertex v dist[v][v] 0 for each edge (u,v) dist[u][v] w(u,v) // the weight of the edge (u,v) for k from 1 to V for i from 1 to V for j from 1 to V if dist[i][k] + dist[k][j] < dist[i][j] then dist[i][j] dist[i][k] + dist[k][j] Παράδειγμα χρήσης του αλγορίθμου αυτού φαίνεται στο παρακάτω σχήμα: Σχήμα 2.23: Γραφική αναπαράσταση αλγορίθμου Floyd-Warshall Πριν από την πρώτη επανάληψη του εξωτερικού βρόχου, επισημαίνονται για k = 0 οι μόνες γνωστές διαδρομές που αντιστοιχούν στις ακμές ενιαία στο γράφημα. Για k = 1, βρίσκονται τα μονοπάτια που περνούν από την κορυφή 1: ειδικότερα, η διαδρομή 2 1 3 βρίσκεται, αντικαθιστώντας το μονοπάτι 2 3, η οποία έχει λιγότερες ακμές, αλλά είναι μεγαλύτερη. -37-

Για k = 2, βρίσκονται τα μονοπάτια που διέρχεται από τις κορυφές {1,2}. Τα κόκκινα και μπλε κουτιά δείχνουν πως το μονοπάτι 4 2 1 3 συναρμολογείται από τις δύο γνωστές διαδρομές 4 2 και 2 1 3 οι οποίες ανέκυψαν σε προηγούμενες επαναλήψεις, με το κόμβο 2 να τα ενώνει. Για k = 3, βρίσκονται τα μονοπάτια που διέρχεται από τις κορυφές {1,2,3). Τέλος για k = 4, βρίσκονται όλα τα υπόλοιπα συντομότερα μονοπάτια. -38-

Κεφάλαιο 3 Μέθοδος Διάχυσης 3.1 Εισαγωγικά για τη μέθοδο Μια νέα μέθοδος ικανή να δώσει σωστά αποτελέσματα παρ όλη την παραμόρφωση των σχημάτων των ευέλικτων αντικειμένων κυρίως εξαιτίας τοπολογικών αλλαγών είναι η μέθοδος που βασίζεται στην απόσταση διάχυσης (DD). Η απόσταση διάχυσης σχετίζεται με την πιθανότητα να κινείσαι στην επιφάνεια του σχήματος από ένα σημείο σε ένα άλλο με σταθερό αριθμό τυχαίων βημάτων. Η απόσταση διάχυσης είναι ένας μέσος όρος των μονοπατιών που συνδέουν δύο σημεία του σχήματος, ενώ η εσωτερική απόσταση ή η γεωδαιτική απόσταση αποτελούν το μήκος του συντομότερου μονοπατιού. Αυτό κάνει φυσικά την απόσταση διάχυσης λιγότερο ευαίσθητη στις τοπολογικές αλλαγές. Με αυτόν τον τρόπο αντιμετωπίζεται και το πρόβλημα του «βραχυκυκλώματος» που περιγράψαμε προηγουμένως (κεφάλαιο 1 σχήμα 1-11). Στην εργασία μας, συνδυάσαμε αποστάσεις διάχυσης και με την βοήθεια εσωτερικών αποστάσεων κατασκευάστηκε ένας νέος Περιγραφέας σχήματος, που ονομάζεται Diffusion Distance Shape Descriptor (DDSD), ο οποίος οδηγεί σε ένα μέσο όρο των διαδρομών των εσωτερικών αποστάσεων. Η νέα μέθοδος δεν είναι ευαίσθητη στις παραμορφώσεις σχήματος των εύκαμπτων μορίων καθώς και στις τοπολογικές αλλαγές. Είναι σαφώς πιο αποτελεσματική στην καταγραφή μοριακών δομών από τις παραδοσιακές μεθόδους περιγραφής σχήματος. Η μέθοδος DDSD αποθηκεύεται σαν ένα ιστόγραμμα που είναι μια κατανομή πιθανότητας των αποστάσεων διάχυσης. Η -39-

προσέγγισή αυτή μειώνει το πρόβλημα σύγκρισης 3D σχημάτων των εύκαμπτων σχημάτων αφού οδηγεί απλά στην σύγκριση των ιστογραμμάτων DDSD. Η διαδικασία του πυρήνα μπορεί να διαιρεθεί σε τέσσερα βήματα: 1. δειγματοληψία, 2. υπολογισμός εσωτερικών αποστάσεων, 3. υπολογισμός αποστάσεων διάχυσης που βασίζεται σε χάρτες διάχυσης, 4. και τέλος στο χτίσιμο των περιγραφέων (descriptors). 3.2 Ανάλυση της μεθόδου O Coifman et al. εισήγαγε τους χάρτες διάχυσης και τις αποστάσεις διάχυσης ως μέθοδο για την παραμετροποίηση των δεδομένων και την μείωση των διαστάσεων. Ένα 3D σχήμα μπορεί να αναπαρασταθεί στον Ευκλείδειο χώρο μέσω των χαρτών διάχυσης. Η απόσταση διάχυσης είναι ίση με την Ευκλείδεια απόσταση στον ενσωματωμένο χώρο που αντιστοιχήθηκε από τους χάρτες διάχυσης. Ανεπίσημα, η απόσταση διάχυσης θεωρείται ως ο μέσος όρος όλων των διαδρομών που συνδέουν δύο σημεία στο σχήμα, και σχετίζεται με την πιθανότητα να φθάνουν από ένα σημείο σε ένα άλλο με μια τυχαία διαδρομή με σταθερό αριθμό βημάτων. Αυτό καθιστά την απόσταση διάχυσης μια αμετάβλητη στην κάμψη συνάρτηση του μήκους της διαδρομής και του πλάτους του σχήματος μεταξύ δύο σημείων. Έτσι αυτή η απόσταση δεν βασίζεται μόνο στην ενιαία διαδρομή μεταξύ δύο σημείων, αλλά είναι και ανθεκτική σε τοπολογικές αλλαγές. Για να το περιγράψουμε πιο απλά, θεωρούμε ένα 3D σχήμα ως ένα πεπερασμένο σύνολο 3D σημείων. Κάνοντας χρήση των ζευγών των σημείων του σχήματος, δημιουργούμε μία συμμετρική μη-αρνητική συνάρτηση Κ(x,y), η οποία αντικατοπτρίζει την ομοιότητα δύο σημείων x και y. Η συνάρτηση αυτή μπορεί -40-

να οδηγήσει σε n n πίνακα Κ, όπου n είναι ο αριθμός των διαθέσιμων σημείων. Η μήτρα έχει μη μηδενικές τιμές. Στη συνέχεια, ορίζουμε: (1) Όπου v (x) = Σ y k(x,y) είναι το άθροισμα των στοιχείων σε κάθε σειρά. Δεδομένου ότι το p(x,y) 0 και Σ y p(x,y) = 1, το p(x,y) μπορεί να ερμηνευθεί ως η πιθανότητα για μια τυχαία διαδρομή (Markov διαδικασία) του σχήματος να μεταβεί από το x στο y με ένα μόνο χρονικό βήμα. Η αντίστοιχη μήτρα P = {p (x, y)} είναι η μήτρα μετάβασης αυτής της αλυσίδας Markov σε ένα μόνο χρονικό βήμα. Να τονισθεί ότι το p(x,y) δεν είναι συμμετρικό, συνεπώς, ορίζουμε μια συμμετρική έκδοση: (2) Η αντίστοιχη μήτρα είναι συμμετρική. Χρησιμοποιώντας την μέθοδο της τυχαίας διαδρομής, η πιθανότητα μετάβασης από το x έως το y σε m χρονικά βήματα δίνεται από τη m-ιοστή δύναμη της μήτρας. Το στοιχείο της μήτρας μπορεί να θεωρηθεί ως ένα "χτύπημα" με κέντρο στο x και πλάτος m. Στη συνέχεια, η απόσταση διάχυσης μεταξύ δύο σημείων x και y ορίζεται ως (3) όπου μπορεί να θεωρηθεί ως μία απόσταση μεταξύ δύο προσκρούσεων. Κάνοντας χρήση των ιδιοτιμών του, προκύπτει το ως: -41-

(4) όπου {λi} είναι η ακολουθία των ιδιοτιμών του (με λ1 = 1 λ2... λn ) και φi είναι τα αντίστοιχα ιδιοδιανύσματα. Συνεπώς, για τα στοιχεία της μήτρας παίρνουμε (5) Από τα παραπάνω, προκύπτει ο χάρτης ιδιοτιμών: (6) ο οποίος ορίζεται από τις ιδιοτιμές και τα ιδιοδιανύσματα του και είναι χάρτης διάχυσης για m χρονικά βήματα. Η σχέση μεταξύ χαρτών διάχυσης και αποστάσεων μπορεί να συνοψιστεί με τη φασματική ταυτότητα (7) γεγονός που σημαίνει ότι η διάχυση του χάρτη Φm ενσωματώνει τα δεδομένα σε ένα Ευκλείδειο χώρο, στον οποίον η Ευκλείδεια απόσταση είναι ίση με την απόσταση διαχύσεως d m της Εξ. (3). -42-

3.3 Πυρήνες διάχυσης (Diffusion kernels) Το πλαίσιο διάχυσης βασίζεται κυρίως στην τυχαία διαδρομή Markov στα γραφήματα. Το πρώτο βήμα θεωρεί όλα τα σημεία δεδομένων του σχήματος, σαν να είναι οι κόμβοι ενός γράφου G, στον οποίον οι δύο κόμβοι x και y συνδέονται με μία ακμή. Μόλις ο γράφος σχηματιστεί, το ειδικό βάρος της ακμής στον γράφο G μετράται από τον diffusion kernel k(x,y). Στην ουσία, η απόσταση διάχυσης αντιπροσωπεύει τον μέσο όρο όλων των διαδρομών που συνδέουν τον κόμβο x με τον κόμβο y μέσω του γράφου G υπολογιζόμενες με την βοήθεια του k(x,y). Το k(x,y) περιγράφει τη σχέση μεταξύ x και y. Τυπικά, ο ακόλουθος Gaussian kernel χρησιμοποιείται: k(x,y) = exp(-d 2 E(x,y)/σ 2 (8) όπου de(x, y) = x - y δηλώνει το μήκος της Ευκλείδειας αποστάσεως μεταξύ των x και y, ενώ το σ υποδεικνύει την Gaussian διακύμανση. Είναι λογικό ότι αν δύο κόμβοι x και y βρίσκονται πιο κοντά (είναι παρόμοιοι) σε σχέση με τις Ευκλείδειες αποστάσεις, είναι πιο πιθανό να μπορεί να υπάρξει μετάβαση από τον έναν προς τον άλλον. Στην παρούσα εργασία το κάθε αντικείμενο αντικατοπτρίζεται από ένα σύνολο σημείων, όπου οι αποστάσεις των γειτονικών σημείων είναι κοντινές. Αυτό έχει ως αποτέλεσμα για τα γειτονικά σημεία η ευκλείδεια απόσταση να ταυτίζεται με την εσωτερική. -43-

3.4 Αλγόριθμος του DDSD 3.4.1 Βασική μεθοδολογία Ο DDSD αλγόριθμος για τον υπολογισμό της απόστασης διάχυσης ενός τρισδιάστατου αντικείμενου O δίδεται ως ακολούθως: 1. Δειγματοληπτούμε ομοιόμορφα n σημεία S = {q1, q2,..., qn} στο όριο μιας επιφάνειας χρησιμοποιώντας τον αλγόριθμο του Lloyd της k-means ομαδοποίησης. 2. Υπολογίζουμε τις εσωτερικές αποστάσεις όλων των ζευγών σημείων δειγματοληψίας στο S. Εδώ έχουμε θεωρήσει ότι στα γειτονικά σημεία η εσωτερική απόσταση ταυτίζεται με την ευκλείδεια, ενώ για όλα τα υπόλοιπα σημεία η απόσταση είναι άπειρη. 3. Υπολογίζουμε τις αποστάσεις διάχυσης για όλα τα ζεύγη δειγματοληψίας του S. a. Πρώτον, ορίζουμε ένα σταθμισμένο γράφημα G πάνω από όλα τα σημεία του δείγματος, συνδέοντας τα σημεία qi, qj S. Ορίζουμε βάρη ακμής ίσα με k(qi,qj) χρησιμοποιώντας την εξίσωση (8). b. Σχεδιάζουμε την μήτρα μετάβασης πιθανότητας της αλυσίδας Markov από την Εξ. (1) και Εξ. (2). c. Υπολογίζουμε το Φm χάρτη διάχυσης για m βήματα χρησιμοποιώντας την εξίσωση διάχυσης. (6). d. Υπολογίζουμε την Ευκλείδεια απόσταση σε φm ίση με την απόσταση διάδοσης dm. 4. Κατασκευάζουμε τον Περιγραφέα του σχήματος O ως το ιστόγραμμα των τιμών των αποστάσεων διάχυσης με n σημεία. -44-

3.4.2 Δειγματοληψία της εξωτερικής επιφάνειας Η τρισδιάστατη μορφή ενός αντικειμένου μπορεί να θεωρηθεί ως μια συστοιχία σημείων. Το σύνολο των σημείων μπορεί όμως να είναι πάρα πολύ μεγάλο για να κατασκευάσουμε τον Περιγραφέα του σχήματος αποτελεσματικά. Με στόχο την εξοικονόμηση κόστους αποθήκευσης και υπολογισμού, επιλέγουμε ένα υποσύνολο των σημείων των ορίων, τα οποία όμως διατηρούν τα χαρακτηριστικά του σχήματος με τον ίδιο τρόπο. Υπάρχουν δύο δυνατότητες να πάρουμε αυτό το υποσύνολο: είτε με τυχαία δειγματοληψία ή με μια «στοχευμένη» μεθόδο δειγματοληψίας. Με τυχαία δειγματοληψία, κάθε οριακό σημείο έχει ίσες πιθανότητες να συμπεριληφθεί στο σύνολο του δείγματος. Το κακό είναι ότι τα σημεία που παίρνουμε από την μέθοδο της τυχαίας δειγματοληψίας δεν μπορούν να αποδώσουν ένα αντιπροσωπευτικό σύνολο του δείγματος. Για αυτό το λόγο μπορούμε να χρησιμοποιούμε τον αλγόριθμο του Lloyd της ομαδοποίησης k- means για την απόκτηση στοχευμένων σημείων δειγματοληψίας για ένα αντικείμενο. 3.4.3 Υπολογισμός εσωτερικών αποστάσεων Στο δεύτερο βήμα, υπολογίζουμε τις εσωτερικές αποστάσεις όλων των ζευγών σημείων του δείγματος σε S. Εδώ η εσωτερική απόσταση προσεγγίζεται με την εύρεση του μικρότερου μονοπατιού στο γράφημα, χρησιμοποιώντας τον αλγόριθμο του Dijkstra. Ο Αλγόριθμος του Dijkstra είναι ένας αλγόριθμος αναζήτησης σε γράφημα που εντοπίζει τη συντομότερη διαδρομή. Προκειμένου να εφαρμοστεί ο αλγόριθμος του Dijkstra πιο αποτελεσματικά, ο σωρός Fibonacci χρησιμοποιείται ως ουρά προτεραιότητας. -45-

3.4.4 Υπολογισμός Αποστάσεων διάχυσης Στο τρίτο βήμα, ο αλγόριθμος περιλαμβάνει δύο παραμέτρους: σ και μ. Στην εφαρμογή μας, σ είναι ο μέσος όρος των εσωτερικών αποστάσεων μεταξύ όλων των ζευγών των σημείων στο σχήμα. Η σταθερά χρόνου m = 50 μπορεί να χρησιμοποιηθεί για το χρόνο διάχυσης. Η απόσταση διάχυσης θεωρείται ως ένα μέσο μήκος των μονοπατιών που συνδέει δύο σημεία σχετικά με το σχήμα εντός m βημάτων (δηλαδή m φορές). Στην πραγματικότητα, η απόσταση διάχυσης υπολογίζεται με την ενσωμάτωση ενός 3D σχήματος σε ένα Ευκλείδειο χώρο (δηλαδή στο χάρτη διάχυσης) στον οποίο η Ευκλείδεια απόσταση είναι ίση με την διάχυση αποστάσεως dm. Η παράμετρος m διαισθητικά καθορίζει το ποσό της «διάχυσης του χρόνου» κατά τη διάρκεια της οποίας διερευνώνται μονοπάτια για να βρεθεί η σύνδεση μεταξύ των σημείων δειγματοληψίας. Εάν το m επιλεγεί υπερβολικά μεγάλο, τότε μόνο τα ιδιοδιανύσματα με τις χαμηλότερες ιδιοτιμές εξετάζονται στο χάρτη διάχυσης, και το αποτέλεσμα είναι ένα μέτρο απόστασης με καλά χαρακτηριστικά για τη γενική γεωμετρία του σώματος, αλλά φτωχά χαρακτηριστικά για την τοπική γεωμετρία. Από την άλλη πλευρά, εάν το m είναι πολύ μικρό, τότε η διαδικασία διάχυσης εκτελείται μόνο για ένα μικρό χρονικό διάστημα, και η προκύπτουσα απόσταση είναι χρήσιμη τοπικά, αλλά εμφανίζει απροσδόκητη συμπεριφορά για απομακρυσμένα μεταξύ τους σημεία. 3.5 Κατασκευή περιγραφέων Μία δύσκολη πτυχή στη μέτρηση της ομοιότητας μεταξύ δύο σχημάτων 3D είναι να βρεθεί ένας κατάλληλος Descriptor, ο οποίος να μπορεί να κατασκευαστεί εύκολα και να συγκρίνεται γρήγορα με αντίστοιχο Descriptor άλλου σχήματος. Ένας τέτοιος περιγραφέας είναι το ιστόγραμμα απόστασης, που ονομάζεται επίσης D2 και αντιπροσωπεύει την κατανομή των Ευκλείδειων αποστάσεων μεταξύ των επιλεγμένων σημείων πάνω στην επιφάνεια ενός 3D μοντέλου. Η βασική ιδέα αυτού του περιγραφέα είναι να μετατρέψουμε ένα αυθαίρετο μοντέλο -46-

3D σε μια παραμετροποιημένη λειτουργία που μπορεί εύκολα να συγκριθεί με άλλους. Το κύριο πλεονέκτημα του ιστογράμματος είναι η απλότητά του, όπου το πρόβλημα σύγκρισης διαφόρων σχημάτων ανάγεται σε δειγματοληψία, κανονικοποίηση και τέλος σε σύγκριση των κατανομών πιθανότητας. Παρά την απλότητά της, η κατανομή σχήματος είναι χρήσιμη για την ταξινόμηση αντικειμένων με διαφορετικό σχήμα.. Σε γενικές γραμμές, το ιστόγραμμα υπολογίζεται με την χρησιμοποίηση στοχαστικών μεθόδων και αυτό πραγματοποιείται σε τρία βήματα: (1) Δειγματοληπτούμε τυχαία σημεία ομοιόμορφα από την επιφάνεια του σχήματος (2) Υπολογιζουμε την Ευκλείδεια απόσταση μεταξύ των δειγμάτων (3) Κατασκευάζουμε ένα ιστόγραμμα απόστασης μετρώντας πόσα πολλά δείγματα εμπίπτουν σε κάθε μία από τις ράβδους του ιστογράμματος. Μετά το τέλος υπολογισμού των αποστάσεων διαχύσεως, μετατρέπουμε τώρα το σύνολο των αποστάσεων διάχυσης σε ιστόγραμμα. Δεδομένου n σημείων δείγματος, ο αριθμός των αποστάσεων διαχύσεως του σχήματος είναι το πολύ n 2 /2. Έτσι μπορούμε να αξιολογήσουμε ειδικά n 2 /2 τιμές απόσταση διάχυσης κατασκευάζοντας το αντίστοιχο ιστόγραμμα, με το να μετρήσουμε πόσες τιμές εμπίπτουν σε κάθε μία από ράβδους του ιστογράμματος. Το ιστόγραμμα απόστασης περιλαμβάνει το στάδιο της κανονικοποίησης, ευθυγραμμίζοντας τις μέγιστες και ελάχιστες τιμές απόστασης διάχυσης σύμφωνα με μια. κλίμακα. 3.6 Μέτρηση ομοιότητας Ένας Περιγραφέας σχήματος μπορεί να χρησιμοποιηθεί ως δείκτης σε μια βάση δεδομένων των σχημάτων και επιτρέπει την πολύ γρήγορη ανάκτηση του σωστού αντικειμένου. Ως εκ τούτου, θα πρέπει να επιλεγεί η κατάλληλη μέτρηση ομοιότητας μεταξύ δύο ιστογραμμάτων σχημάτων προκειμένου να επιτύχουμε ακριβή αποτελέσματα. Έχουν διερευνηθεί πολλοί πρότυποι τρόποι σύγκρισης δύο ιστογραμμάτων για την εύρεση του κατάλληλου περιγραφέα. Δύο περιγραφείς οι -47-

οποίοι δίνουν καλά αποτελέσματα είναι η L1 και η L2 νόρμα, όπου L1 νόρμα είναι γνωστή ως η απόσταση Manhattan και η L2 νόρμα που είναι η γνωστή Ευκλείδεια απόσταση. Στην παρούσα διπλωματική χρησιμοποιούμε την ευκλείδια απόσταση και στη σύγκριση των ιστογραμμάτων προκειμένου να διακρίνουμε το βαθμό ομοιότητάς του. 3.7 Χρήση precission και recall Στην αναγνώριση προτύπων για την αξιολόγηση των αποτελεσμάτων στην ανάκτηση πληροφοριών χρησιμοποιούνται δύο βασικές έννοιες: η precission και η recall. Precission αποτελεί το κλάσμα των ανακτημένων περιπτώσεων που είναι σχετικές με το προς εξέταση αντικείμενο, ενώ recall (επίσης γνωστή ως ευαισθησία) αποτελεί το κλάσμα των σχετικών περιπτώσεων που ανακτώνται. Οι τύποι που δίνουν αυτές τις δύο έννοιες είναι: όπου: t p (true positive) είναι το πλήθος των σωστών αποτελεσμάτων f p (false positive) είναι το πλήθος των εσφαλμένων αποτελεσμάτων και f n (false negative) είναι το πλήθος των σωστών αντικειμένων που λείπουν από τα αποτελέσματα του αλγορίθμου Για παράδειγμα ας υποθέσουμε ότι έχουμε έναν αλγόριθμο που χρησιμοποιείται για την αναγνώριση σκύλων από μια βάση δεδομένων η οποία περιλαμβάνει 9 σκυλιά και μερικές γάτες. Εάν ο αλγόριθμος καταλήξει σε 7 περιπτώσεις ότι είναι σκυλιά, όπου όμως στην πραγματικότητα 4 περιπτώσεις είναι σωστές τότε προκύπτει ότι: precission = 4/7 recall = 4/9-48-

Κεφάλαιο 4 Υλοποίηση - Ανάλυση κώδικα 4.1 Περιγραφή Στο κεφάλαιο αυτό περιγράφεται η υλοποίηση που έγινε σε περιβάλλον matlab με σκοπό την ανάκτηση σχημάτων με χρήση της απόστασης διάχυσης. Η βάση η οποία χρησιμοποιήθηκε είναι η SHREC2010. Θα αναλύσουμε όλα τα τμήματα του κώδικα περιγράφοντας την λογική για κάθε ένα από αυτά. Προτού προχωρήσουμε στην περιγραφή του κώδικα και της λογικής του, είναι χρήσιμο να γίνει μια σύντομη περιγραφή του τι είναι αυτό που έχει υλοποιηθεί ώστε να διευκολυνθεί και ο αναγνώστης στην συνέχεια. Ως δείγματα εικόνων χρησιμοποιούμε τη βάση SHREC2010, η οποία αποτελείται από 200 εικόνες και χαρακτηρίζονται από τα αρχεία.off. Στόχος του κώδικα είναι να συγκρίνει μια εικόνα δείγματος με όλες τις εικόνες της βάσης SHREC2010 και να ανακτά αυτές που μοιάζουν με την εικόνα-δείγμα. Η μέθοδος που έχει υλοποιηθεί είναι με την χρήση της απόστασης διάχυσης. Η βασική φιλοσοφία μας είναι να χρησιμοποιούμε κάθε φορά τις γενικές αρχές του αλγορίθμου διάχυσης που περιγράφτηκαν σε προηγούμενα κεφάλαια για να σχηματίσουμε για την εικόνα δείγματος αλλά και για όλες τις εικόνες της βάσης ένα ιστόγραμμα το οποίο θα αντιπροσωπεύει την εκάστοτε εικόνα. Στη συνέχεια προχωράμε σε σύγκριση ιστογραμμάτων. Τα ιστογράμματα τα οποία μοιάζουν ανήκουν σε εικόνες οι οποίες μοιάζουν επίσης. Η βασική λοιπόν συνάρτηση η οποία υπολογίζει το ιστόγραμμα κάθε εικόνας με την χρήση της απόστασης διάχυσης είναι η εξής : function result = compute_histogram(filename, nbins) [vertex,face] = read_mesh(filename); % This returns an distance weighted NxN matrix. -49-

W = compute_mesh_weight(vertex,face,'distance'); K = compute_diffusion_kernel_optimized(w,1); p = K; % Eigenvalues and eigenvectors of p. Only use the 6 most significant [V,D] = eigs(p); % A NxM (where M=eigenvalues) matrix holding the Product of % Eigenvalues*EigenVectors Phi = V*D; PhiN = size(phi,1); % A NxN symmetric matrix of distances. % We avoid a double for loop using bsxfun and horzcat for speed % We preallocate sparse for speed and continuous memory d2 = spalloc(phin,phin,phin*phin); for i=1:phin d2(:,i) = sum(bsxfun(@minus,phi(i,:),phi).^2,2); %substract from phi each row end; % keep only the upper triangle part of the PhiNxPhiN % symmetric distance matrix. Diagonal discarded (1 as 2nd argument) % Then use find to keep only the values in variable v. ~ means discard t = triu(d2,1); clear d2; [~,~,v] = find(t); % non-zero elements of array % compute the histogram result = hist(v, nbins); Η συνάρτηση compute_histogram δέχεται δύο παραμέτρους το filename και τα nbins. Στο filename ορίζουμε την εικόνα (το full path του αρχείου.off) και nbins τον αριθμό των bins που θέλουμε στο ιστόγραμμα. Η συνάρτηση αυτή παράγει ένα ιστόγραμμα με nbins για την εικόνα filename. -50-