Multimedia IR εικτοδότηση και Αναζήτηση 1
Εισαγωγή Μεγάλες ποσότητες πληροφορίες υπάρχουν σε αρχεία εικόνων, ήχου, video. Οι τυπικές µέθοδοι ανάκτησης κειµένου δεν µπορούν να εφαρµοστούν άµεσα στην περίπτωση πολυµεσικών (multimedia) αντικειµένων. Απαιτούνται ειδικές µέθοδοι οι οποίες επιτρέπουν την αναπαράσταση των αντικειµένων µε πιο απλές µορφές, ώστε η αναζήτηση να πραγµατοποιείται αποτελεσµατικά και αποδοτικά. 2
Εισαγωγή Στην περίπτωση των κειµένων ο χρήστης δίνει ένα κείµενο ή µερικές λέξεις κλειδιά και το σύστηµα βρίσκει τα κείµενα τα οποία «µοιάζουν» περισσότερο µε τοκείµενο του χρήστη. Στην περίπτωση των πολυµεσικών δεδοµένων, ο χρήστης δίνει µία εικόνα ή µία χρονοσειρά και αναζητά αντικείµενα «όµοια» µετοαντικείµενο του ερωτήµατος. Αν και η γενική ιδέα δε φαίνεται διαφορετική, οι µηχανισµοί επεξεργασίας έχουν πολύ µεγάλες διαφορές. 3
Εισαγωγή Έστω αντικείµενα Ο1 και Ο2. Η µεταξύ τους απόσταση (ή αλλιώς το µέτρο ανοµοιότητας) συµβολίζεται µε D(O1,O2) 4
Εφαρµογές Βάσεις Εικόνων (Image Databases) Οικονοµικές Χρονοσειρές (διακυµάνσεις µετοχών, πωλήσεις προϊόντος σε µία περιοχή, κλπ). Βάσεις Video και Ήχου (audio & video ondemand). Βάσεις DNA. 5
Ένας Απλός Τρόπος Με κάθε αντικείµενο επισυνάπτουµε καιµία περιγραφή (µικρό κείµενο) το οποίο περιγράφει το αντικείµενο όσο γίνεται καλύτερα. Στη συνέχεια µπορούµεναχρησιµοποιήσουµε τις κλασικές µεθόδους IR για την ανάκτηση σχετικών αντικειµένων. Ηαναζήτησητωναντικειµένων πραγµατοποιείται µεαναζήτησηκειµένων. 6
Ένας Απλός Τρόπος 7
Ένας Απλός Τρόπος Η περιγραφή του αντικειµένου πρέπει να γίνει χειροκίνητα. Είναι ακριβό Είναι χρονοβόρο Η περιγραφή συνήθως δεν είναι πλήρης και είναι υποκειµενική. Μερικές ιδιότητες του αντικειµένου είναι δύσκολο να περιγραφούν (υφή και σχήµατα). 8
Ερωτήσεις Οµοιότητας Να βρεθούν εικόνες όµοιες µε τηνεικόναα. Να βρεθούν εταιρίες των οποίων οι διακύµανση της µετοχής µοιάζει µεαυτήντηςwestwood Associates. Να βρεθούν αλυσίδες DNA που µοιάζουν µε τη Χ. Να βρεθούν τα 5 κοµµάτια ήχου που µοιάζουν περισσότερο µε το συγκεκριµένο ήχο. 9
Κατηγορίες Ερωτήσεων Ερωτήσεις Ολικής Ταύτισης: δίνονται Ν αντικείµενα Ο1,,ΟΝ και ένα αντικείµενο Q. Αναζητούµεαντικείµενα τα οποία βρίσκονται το πολύ σε απόσταση ε από το Q. Π.χ. αν τα Οi είναι εικόνες 512x512, τις ίδιες διαστάσεις έχει και το Q. Ερωτήσεις Ταύτισης Sub-pattern: εδώ επιτρέπεται το ερώτηµα να ταυτίζεται µε ένα τµήµα των αντικειµένων. Π.χ. να βρεθούν εικόνες 1024x1024 που περιέχουν το συγκεκριµένο τµήµα 128x128. 10
Μορφές Ερωτηµάτων Ερώτηµα ιαστήµατος (range query): δίνεται αντικείµενο ερώτησης Q και αναζητούνται τα αντικείµενα που βρίσκονται σε απόσταση το πολύ ε από το Q. Q ε 11
Μορφές Ερωτηµάτων Ερώτηµα Πλησιέστερων Γειτόνων (nearestneighbor query): δίνεται αντικείµενο ερώτησης Q και αναζητούµε ταk αντικείµεναταοποία βρίσκονται πλησιέστερα στο Q. Q k=3 12
Μορφές Ερωτηµάτων ΕρώτηµαΣύνδεσης(join query): δίνονται δύο σύνολα αντικειµένων Α και Β και αναζητούµε ζεύγηαντικειµένων ai, bj έτσι ώστε D(ai,bj) <= ε. Π.χ. να βρεθούν τα ζεύγη (κτίριο, parking) έτσι ώστε η µεταξύ τους απόσταση να είναι µικρότερη από 500 µέτρα. 13
Στόχοι Να αποφύγουµε τη σειριακή αναζήτηση όλων των αντικειµένων της βάσης. Τα αντικείµενα που επιστρέφονται να σχετίζονται µε τις προτιµήσεις του χρήστη. Το επιπλέον κόστος σε χώρο να είναι περιορισµένο. Να µπορούµεναπραγµατοποιούµε λειτουργίες εισαγωγής, διαγραφής και ενηµέρωσης δεδοµένων. 14
Η Βασική Ιδέα Μετασχηµατισµός των αντικειµένων σε σηµεία σε κάποιο χώρο µε πολλές διαστάσεις. Αυτό µας επιτρέπει να χρησιµοποιήσουµε µεθόδους αναζήτησης σηµείων. 15
ιαχείριση Σηµείων Για απλότητα έστω ότι βρισκόµαστε στο χώρο 2 διαστάσεων. Έστω σύνολο από Ν σηµεία τα οποία αναπαριστώνται µετιςx,y συντεταγµένες τους. Αναζητούµε αποδοτικούς τρόπους διαχείρισης (αναζήτηση, εισαγωγή, διαγραφή) ώστε να µειώσουµε τον απαιτούµενο χρόνο επεξεργασίας των ερωτήσεων. Στηφύσηδεσυναντούµε καθόλου την οµοιόµορφη κατανοµή (uniform distribution). 16
ιαχείριση Σηµείων 17
ιαχείριση Σηµείων 18
ιαχείριση Σηµείων Θέσεις τόπων στην Καλιφόρνια ιασταυρώσεις δρόµων Long Beach 19
ιαχείριση Σηµείων Μπορούµεναχρησιµοποιήσουµε τηδοµή του Β-δένδρου και να οργανώσουµε τα σηµεία µε βάσητηµία από τις δύο συντεταγµένες (x ή y). Πλεονέκτηµα, χρησιµοποιούµε µία ήδη υπάρχουσα και δοκιµασµένη δοµή. Μειονέκτηµα, αναζητήσειςωςπροςτην άλλη συντεταγµένη δεν γίνονται αποδοτικά. 20
ιαχείριση Σηµείων Μπορούµεναχρησιµοποιήσουµε δύοδοµές Β-δένδρων για κάθε συντεταγµένη χωριστά. Μειονέκτηµα: απαιτείται περισσότερος χώρος για την αποθήκευση των Β-δένδρων. Μειονέκτηµα: ηταξινόµηση των σηµείων µπορεί να γίνει ως προς µία µόνο διάσταση (x ή y). 21
ιαχείριση Σηµείων Χρησιµοποιούµε µετασχηµατισµό ώστενα απεικονίσουµετασηµεία από δύο διαστάσεις σε µία. Για να γίνει αυτό πρέπει να χρησιµοποιήσουµεκαµπύλες κάλυψης χώρου (space filling curves). 22
Καµπύλες Κάλυψης Χώρου Κατά στήλες 3 3 4 11 12 2 2 5 10 13 1 0 1 6 9 14 0 7 8 15 0 1 2 3 23
Καµπύλες Κάλυψης Χώρου Καµπύλη Peanο, προκύπτει µε bit interleaving 3 5 7 13 15 2 4 6 12 14 1 0 1 3 9 11 0 2 8 10 0 1 2 3 24
Καµπύλες Κάλυψης Χώρου Καµπύλη Hilbert 3 5 6 9 10 2 4 7 8 11 1 0 13 12 3 2 0 1 14 15 0 1 2 3 25
Καµπύλες Κάλυψης Χώρου Απλός τρόπος µετασχηµατισµού. ΜπορούµεναχρησιµοποιήσουµετηδοµήτουΒδένδρου (ή παρόµοιες). Η γειτονικότητα δεν ικανοποιείται πάντα (προφανές, αφού δεν υπάρχει ολική διάταξη για πάνω από 1 διαστάσεις). Σηµεία που είναι κοντά στις 2 διαστάσεις υπάρχει περίπτωση να βρεθούν µακριά στην καµπύλη. 26
Εναλλακτικές Λύσεις kd-trees KDB-trees GRID-files LSD-trees (local split decision) R-tree και παραλλαγές (R+-tree, R*-tree). 27
R-tree Guttman 1984. Αρχικά χρησιµοποιήθηκε για την οργάνωση ορθογωνίων σε κυκλώµατα VLSI. Αργότερα βρήκε εφαρµογή σε πολλούς τοµείς (GIS, Multimedia indexing, κλπ). Αποτελεί επέκταση του Β-δένδρου σε πάνω από 1 διαστάσεις. 28
R-tree ενδρική δοµή Τα αντικείµενα αποθηκεύονται στα φύλλα του δένδρου. Όλαταφύλλαβρίσκονταιστοίδιοεπίπεδο. Στους εσωτερικούς κόµβους αποθηκεύονται ορθογώνια (minimum bounding rectangles) τα οποία οµαδοποιούν τα αντικείµενα των κατώτερων επιπέδων. 29
R-tree Ρίζα Γ Α Β 30
R-tree A B Γ 31
R-tree Τα ορθογώνια των εσωτερικών κόµβων µπορούν να επικαλύπτονται. Αναζητώντας ένα σηµείο µπορεί να χρειαστεί να εξετάσουµε πολλάµονοπάτια από τη ρίζα προς τα φύλλα. Αν και δεν υπάρχει εγγύηση για την απόδοση χειρότερης περίπτωσης, στη µέση περίπτωση έχουµεπολύκαλάαποτελέσµατα. Μέχρι τις 20 περίπου διαστάσεις το R-tree τα καταφέρνει αρκετά καλά. 32
R-tree: επεξεργασία ερωτήσεων Αναζήτηση Σηµείου (point query). Έστω σηµείο Q(xq,yq). ιαβάζουµε τη ρίζα του δένδρου. Αναζητούµε ορθογώνια τα οποία περιέχουν το Q. Ακολουθούµεταµονοπάτια χρησιµοποιώντας τη µέθοδο DFS. Όταν καταλήγουµεσεφύλλοαναζητούµε τοq στο φύλλο. 33
R-tree: επεξεργασία ερωτήσεων Ρίζα Γ Α Β 34
R-tree: επεξεργασία ερωτήσεων Αναζήτηση Περιοχής (range query). Έστω περιοχή ερώτησης Q που ορίζεται είτε από κύκλο είτε από ορθογώνιο (ή από τυχαίο σχήµα) Αναζητούµετασηµεία που βρίσκονται µέσα στην περιοχή ερώτησης. ιαβάσουµε τη ρίζα και προσδιορίζουµε τα ορθογώνια που τέµνονται από την περιοχή Q. Ακλουθούµε ταµονοπάτια µέχρι τα φύλλα και επιστρέφουµετασηµεία που ικανοποιούν τη συνθήκη. 35
R-tree: επεξεργασία ερωτήσεων Ρίζα Range Query Γ Α Β 36
R-tree: επεξεργασία ερωτήσεων Ρίζα Range Query Γ Α Β 37
R-tree: επεξεργασία ερωτήσεων Ερώτηµα Πλησιέστερων Γειτόνων (nearestneighbor query) Έστω σηµείο Q. Αναζητούµε k σηµεία που βρίσκονται πλησιέστερα στο Q. Κατά την αναζήτηση απορρίπτουµε ορθογώνια τα οποία απέχουν από το Q απόσταση µεγαλύτερη από την τρέχουσα καλύτερη απόσταση που έχει βρεθεί µέχρι τώρα. Ενηµερώνουµε την απόσταση όταν φτάσουµε σε φύλλο. 38
R-tree: επεξεργασία ερωτήσεων Ρίζα Nearest-Neighbor Query Γ Α Β 39
Εισαγωγή σε R-tree Έστω νέο σηµείο P τοοποίοπρέπειναεισαχθείστο R-tree. Στη ρίζα επιλέγουµε το ορθογώνιο το οποίο «κερδίζει». Ακολουθούµε το δείκτη προς το κατώτερο επίπεδο. Συνεχίζουµε την ίδια διαδικασία µέχρι να φτάσουµε στο φύλλο. Αν υπάρχει χώρος αποθηκεύουµε τοp. ιαφορετικά εκτελείται η πράξη της διάσπασης (split). 40
Εισαγωγή σε R-tree Η επιλογή του ορθογωνίου που θα επιλέξουµε πραγµατοποιείται µε βάση κάποια κριτήρια. Στόχος είναι η καλή ποιότητα της δοµής. Θέλουµενααποφύγουµετιςµεγάλες επικαλύψεις των ορθογωνίων διότι επιδρούν αρνητικά στην απόδοση της επεξεργασίας. Κριτήρια που χρησιµοποιούνται συνήθως: µικρότερη αύξηση της περιµέτρου, µικρότερη αύξηση του εµβαδού, κλπ. 41
Εισαγωγή σε R-tree Κατά τη διάσπαση ενός κόµβου προσπαθούµε πάλι να διατηρήσουµε την καλή ποιότητα της δοµής. Κριτήρια που χρησιµοποιούνται συνήθως είναι: οι κόµβοι που δηµιουργούνται να έχουν όσο το δυνατό µικρότερη επικάλυψη, µικρότερο εµβαδόν, µικρότερη περίµετρο (συνδυασµός των παραπάνω). Ηίδιαµέθοδος ακολουθείται είτε πρόκειται για διάσπαση φύλλου είτε εσωτερικού κόµβου. 42
GEMINI Generic Multimedia Object INdexIng Η µέθοδος εργάζεται σε δύο φάσεις: Filtering: πραγµατοποιείται αναζήτηση µε βάσητη δοµή (R-tree) και απορρίπτονται αντικείµενα που σε καµιά περίπτωση δε µπορούν να συµµετέχουν στην απάντηση. Refinement: τα αντικείµενα που έχουν επιστραφεί από την προηγούµενη φάση ελέγχονται µε βάσητααρχικά τους χαρακτηριστικά και προσδιορίζονται αυτά που τελικά ικανοποιούν την απάντηση. 43
GEMINI Ν αντικείµενα Ο1,,ΟΝ Απόσταση µεταξύ Oi και Oj δίνεται από D(Oi,Oj). Ο χρήστης δίνει ένα αντικείµενο Q και µία απόσταση ε και αναζητά τα αντικείµενα τα οποία βρίσκονται το πολύ σε απόσταση ε από το Q. 44
GEMINI Έστω ότι τα αντικείµενα της βάσης είναι χρονοσειρές (π.χ. διακυµάνσεις µετοχών, διακυµάνσεις θερµοκρασίας). Θεωρούµε ότι η απόσταση µεταξύ δύο χρονοσειρών S και Q δίνεται από την Ευκλείδια απόσταση: D(S,Q) = (Σ(S[i] Q[i])^2 )^(1/2) 45
GEMINI y y t t 46
GEMINI T(Oi) Oi 47
GEMINI Για το µετασχηµατισµό από τον ένα χώρο στον άλλο χρησιµοποιείται µία συνάρτηση T(Oi), Οi T(Oi) Στην περίπτωση των χρονοσειρών συνήθως χρησιµοποιείται ο ιακριτός Μετασχηµατισµός Συνηµιτόνου (Discrete Cosine Transformation) 48