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