Πανεπιστήµιο Μακεδονίας Π.Μ.Σ Εφαρµοσµένης Πληροφορικής Σύγκριση Μεθόδων Ανάκτησης Εικόνας Βασισµένης στο Περιεχοµένο µε Παράλληλη Υλοποίηση σε Java ιπλωµατική εργασία Καραφωτιάς Γιώργος 11/20
Αναζήτηση µε λέξεις κλειδιά Ευρετήρια Βάση εδοµένων Υφιστάµενες τεχνικές Σχολιασµός εικόνων Ορολογία
Ανάκτηση βάσει περιεχοµένου - CBIR ιατύπωση ερωτήµατος Εξαγωγή περιγραφέα Αποθήκευση περιγραφέα Σύγκριση περιγραφέων
Περιγραφείς περιεχοµένου Χαρακτηριστικά Χρώµα Υφή Σχήµα Κατηγορίες Global Block-based Regional Ιδιότητες Ακρίβεια Υπολογιστικό κόστος Μέγεθος Αµεταβλητότητα Παράµετροι επιλογής Όλες οι ιδιότητες Τύπος εικόνων
Μέτρηση οµοιότητας (1) - ս - [15, 28,..., 10] [12, 98,..., 10] Minkowski L1 για p=1 L2 για p=2 Τοµή ιστογραµµάτων Εσωτερικό γινόµενο
Μέτρηση οµοιότητας (2) Γεωµετρικός µέσος Οικογένεια χ 2 Θεωρία πληροφορίας Cross bin συναρτήσεις απόστασης Γραφήµατα (Graph Matching) Γραµµικός προγραµµατισµός (Earth Mover s Distance)
RGB Χρώµα HSV Κβαντοποίηση Cie Lab 1) Ιστόγραµµα 2) Μέσο χρώµα 3) Κυρίαρχα χρώµατα
Χρωµατικό ιστόγραµµα (GCH) Σύγκριση της χρωµατικής κατανοµής 2 εικόνων 1. Επιλογή χρωµατικού χώρου 2. Κβαντοποίηση εικόνας 3. Υπολογισµός ιστογράµµατος 4. Σύγκριση ιστογραµµάτων Απλότητα υπολογισµού Ταχύτητα υπολογισµού Αµετάβλητο στην περιστροφή Χωρική κατανοµή των pixel
Χρωµατικό διάνυσµα συνοχής (CCV)( Βελτιώνει το ιστόγραµµα χωρίζοντας τα pixel σε 2 κατηγορίες Εικόνα Συνδεδεµένα στοιχεία 1. Εύρεση των συνδεδεµένων στοιχείων µιας εικόνας 2. Κατάταξη των pixel κάθε χρώµατος σε συνεκτικά και µη-συνεκτικά ανάλογα µε τα στοιχεία στα οποία ανήκουν
Χρωµατικό συσχετογράφηµα (ACC) Η πιθανότητα ένα pixel χρώµατος c i να βρίσκεται σε απόσταση k από ένα pixel χρώµατος c j Πρόβληµα: Υπολογιστικό κόστος και αποθηκευτικός χώρος Λύση: Χρωµατικό αυτοσυσχετογράφηµα Ενδιαφέρουσα παραλλαγή: Συσχετογράφηµα διαµέσου
BIC Παρόµοιος σε λογική µε το CCV Κατατάσσει τα pixel σε συνοριακά και εσωτερικά Απλούστερος υπολογιστικά από το CCV Βελτιστοποίηση για τη µείωση του αποθηκευτικού χώρου
Τοπικό ιστόγραµµα (LCH)( Block-based περιγραφέας Η εικόνα χωρίζεται σε µπλοκ και εξάγεται το ιστόγραµµα του καθενός από αυτά Αποθηκευτικό κόστος Είναι ευαίσθητο σε περιστροφές της εικόνας Ευελιξία προσαρµογών στον τρόπο χωρισµού σε µπλοκ
Γεωµετρικό ιστόγραµµα (ANNHIST)( ιατηρεί πληροφορία για τη θέση των pixel κάθε χρώµατος Τα pixel είναι σηµεία στο διδιάστατο επίπεδο Μετράµε τα pixel που βρίσκονται σε κάθε µία περιοχή
Περιγραφέας δοµής χρώµατος (CSD)( Περιγραφέας του προτύπου MPEG-7 Ο υπολογισµός του γίνεται στο χρωµατικό χώρο HMMD ιαφορετική ερµηνεία τιµών του ιστογράµµατος
Ασαφές ιστόγραµµα (FUZZYHIST) Με τη χρήση ασαφούς λογικής κάθε pixel της εικόνας κβαντοποιείται σε 1 από 10 πιθανά χρώµατα ηµιουργείται ένα ιστόγραµµα µε 10 µόνο τιµές Ασαφής κανόνας: Αν η συνιστώσα Hue είναι µπλε και η φωτεινότητα 70% τότε το χρώµα είναι γαλάζιο
Χρωµατικές ροπές (CM)( Τιµές χρώµατος των pixel = στατιστική κατανοµή Μια κατανοµή µπορεί να χαρακτηριστεί από µια σειρά τιµών (µέσος, διακύµανση) Συµπαγής περιγραφέας ιακριτική ικανότητα
Υφή (Texture) Έλλειψη ξεκάθαρου ορισµού Επαναλαµβανόµενα µοτίβα ε σχετίζεται µε το χρώµα Προσεγγίσεις Στατιστικοί Πεδίο συχνοτήτων Συντακτικοί Παράδειγµα 11,79 74,63 Τυπική απόκλιση
Πίνακες σύµπτωσης (GLCM)( Η ίδια ιδέα µε το συσχετογράφηµα για εικόνες του γκρι 1) Υπολογισµός πινάκων σύµπτωσης 2) Υπολογισµός στατιστικών µέτρων από αυτούς
Ιστόγραµµα ακµών (EHD)( Η εικόνα χωρίζεται σε 16 υποεικόνες Για κάθε υποεικόνα µετράµε το πλήθος καθενός από 5 είδη ακµών Ιστόγραµµα 80 τιµών
Τοπικά δυαδικά πρότυπα (LBP)( Ακµή Σηµείο Μικροπρότυπα υφής σε µια εικόνα Κυκλικές γειτονιές διαφορετικού µεγέθους Οµοιόµορφα πρότυπα Προσθήκη αµεταβλητότητας µε µετασχηµατισµούς Πρόβληµα: Αλλαγή µεγέθους εικόνας
Σύγκριση περιγραφέων - Πλαίσιο Πυλώνες Ακρίβεια Κόστος Ακρίβεια Μέτρα αξιολόγησης Benchmark συλλογές Κόστος Εργαλείο Σύστηµα java Χώρος Χρόνος Κλιµάκωση Παραλληλοποίηση Open MP
Σύστηµα CBIR - Java
Σκαρίφηµα συστήµατος Client server ή Desktop- Based Πρωτόκολλο Sockets Αποθήκευση των περιγραφέων σε δυαδικά αρχεία Αυτοµατοποίηση πειραµάτων
Μέτρα ακρίβειας Γραφήµατα ακρίβειας ανάκλησης Mean Average Precision (MAP) Προϋπόθεση: : groundtruth file Συλλογές: : WANG, UCID, Brodatz
Mean Average Precision (MAP) NR 1 ( ) = ( ) MAP AP( q) AP q P R N R n = 1 q n 1 = Q q Q
MAP Σταθερή κβαντοποίηση 0,6 0,5 0,4 0,3 0,2 0,1 0 MAP-WANG MAP-UCID GCH CCV ACC CM LCH BIC ANNHIST CSD CSF FUZZYHIST EHD LBP GLCM Mean Average Precision (MAP) Περιγραφέας 1. CSD 2. ACC 3. LCH
MAP Σταθερό µέγεθος περιγραφέα 1: Σταθερή κβαντοποίηση 64 χρώµατα 2: Μεταβλητή κβαντοποίηση, Σταθερό µέγεθος περιγραφέα 256 Mean Average Precision (MAP) 0,6 0,5 0,4 0,3 0,2 0,1 0 GCH CCV BIC CSD CSF Περιγραφέας MAP-WANG 1 MAP-WANG 2 MAP-UCID 1 MAP-UCID 2 Μεγαλύτερα περιθώρια βελτίωσης στο ιστόγραµµα
MAP Αλλάζοντας χρωµατικό χώρο ΜΕΣΗ ΑΚΡΙΒΕΙΑ ΑΝΑ ΧΡΩΜΑΤΙΚΟ ΧΩΡΟ ΚΑΙ ΣΥΛΛΟΓΗ ΕΙΚΟΝΩΝ 0,6 Mean Average Precision (MAP) 0,5 0,4 0,3 0,2 0,1 0 GCH CCV ACC BIC LCH CM Περιγραφέας RGB-WANG HSV-WANG RGB-UCID HSV-UCID Ο HSV καλύτερος του RGB Ο CieLab αργός
Αλλάζοντας σχήµα κβαντοποίησης ΜΕΤΑΒΟΛΗ ΜΕΣΗΣ ΑΚΡΙΒΕΙΑΣ ΣΤΗ ΜΕΤΑΒΑΣΗ ΑΠΟ ΤΑ 64 ΣΤΑ 512 RGB ΧΡΩΜΑΤΑ Mean Average Precision (MAP) 0,6 0,5 0,4 0,3 0,2 0,1 0 WANG - GCH WANG - CCV WANG - BIC WANG - CSD UCID - GCH UCID - CCV UCID - BIC UCID - CSD Περιγραφέας RGB - 64 (R=4, G=4, B=4) RGB - 512 (R=8, G=8, B=8) Αύξηση της ακρίβειας µε ταυτόχρονη αύξηση του κόστους
Αλλάζοντας τη συνάρτηση απόστασης ΜΕΤΑΒΟΛΗ ΜΕΣΗΣ ΑΚΡΙΒΕΙΑΣ (MAP) ΜΕΤΑΞΥ ΤΩΝ ΣΥΝΑΡΤΗΣΕΩΝ ΑΠΟΣΤΑΣΗΣ Mean Average Precision (MAP) 0,6 0,5 0,4 0,3 0,2 0,1 0 L1 L2 Tanimoto cosine Bhattacharyya squared χ2 Kullback-Leibler Avg(L1, Chessboard) MAP - WANG MAP - UCID Συνάρτηση Απόστασης 1. Bhattacharyya 2. Squared χ 2 3. L1
Ακρίβεια ανά κατηγορία εικόνων Μέσος όρος ακρίβειας (MAP) ανά κατηγορία 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Mean Average Precision (MAP) Αφρική Παραλία Μνηµεία Λεωφορεία εινόσαυροι Ελέφαντες Λουλούδια Άλογα Βουνά Φαγητό Κατηγορία LBP, EHD FUZZYHIST, CSF LBP, ACC CM, FUZZYHIST (!)
Συνδυασµός χρώµατος-υφής ΒΕΛΤΙΩΣΗ ΤΗΣ ΜΕΣΗΣ ΑΚΡΙΒΕΙΑΣ ΜΕ ΤΟ ΣΥΝ ΥΑΣΜΟ ΧΡΩΜΑΤΟΣ ΚΑΙ ΥΦΗΣ (ΣΥΛΛΟΓΗ WANG) Mean Average Precision (MAP) 0,6 0,5 0,4 0,3 0,2 0,1 0 GCH ACC CCV CM LCH BIC ANNHIST CSD CSF FUZZY Χρωµατικός περιγραφέας Συνδυασµός µε LBP Συνδυασµός µε EHD Βελτίωση της ακρίβειας Αύξηση του κόστους ( υνατότητα παραλληλισµού) Πρόβληµα: Κανονικοποίηση
Ταχύτητα υπολογισµού περιγραφέων ΣΧΕΤΙΚΟΙ ΧΡΟΝΟΙ ΕΞΑΓΩΓΗΣ ΤΩΝ ΠΕΡΙΓΡΑΦΕΩΝ ΩΣ ΠΡΟΣ ΤΟ ΧΡΩΜΑΤΙΚΟ ΙΣΤΟΓΡΑΜΜΑ Σχετικός χρόνος εξαγωγής 5 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 GCH CCV BIC ACC CSD LCH CM ANNHIST EHD CSF LBP GLCM FUZZYHIST Περιγραφέας 3 γκρουπ περιγραφέων Ταύτιση µε τις θεωρητικές πολυπλοκότητες
Κλιµάκωση οµές ευρετηρίου Παράλληλη Επεξεργασία PCA Οµαδοποίηση εδοµένων Συvoπτικοί περιγραφείς Παράλληλη επεξεργασία Επίπεδο υπολογιστή (MPI) Επίπεδο πυρήνα (OpenMP)
Χρόνος απόκρισης ΧΡΟΝΟΙ ΑΝΑΓΝΩΣΗΣ ΠΕΡΙΓΡΑΦΕΩΝ, ΣΥΓΚΡΙΣΗΣ ΠΕΡΙΓΡΑΦΕΩΝ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗΣ ΟΜΟΙΟΤΗΤΑΣ ΑΝΑ ΜΕΓΕΘΟΣ ΣΥΛΛΟΓΗΣ Χρόνος (milliseconds 1600 1400 1200 1000 800 600 400 200 0 1000 5000 10000 20000 50000 75000 100000 200000 Μέγεθος Συλλογής tread tcomp tsort Η επιβάρυνση του χρόνου ανάγνωσης µπορεί να αποφευχθεί Κόστος µεταφοράς δεδοµένων στο δίκτυο
Η λογική του παραλληλισµού Χωρίζουµε τις εικόνες σε n τµήµατα Κάθε επεξεργαστική µονάδα αναλαµβάνει ένα τµήµα Μονάδα επεξεργασίας CPU Πυρήνας MPI
OpenMP Παράλληλες συγκρίσεις //omp parallel shared(similarities, features, feature, datasetsize) private(omp_threads) { //omp for schedule(static, datasetsize/omp_threads) } for(int i = 0; i < datasetsize; i++) similarities[i] = feature.compare(features[i]); Ευκολότερο από τα νήµατα Java Φανερά τα σηµεία παραλληλισµού Μοντέλο νηµάτων Μοιραζόµενη µνήµη JOMP Υλοποίηση java Ελλιπής υποστήριξη
Σειριακός και παράλληλος χρόνος ΣΕΙΡΙΑΚΟΣ ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΧΡΟΝΟΣ ΣΥΓΚΡΙΣΕΩΝ ΑΝΑ ΜΕΓΕΘΟΣ ΣΥΛΛΟΓΗΣ ΣΤΟ ΧΡΩΜΑΤΙΚΟ ΙΣΤΟΓΡΑΜΜΑ ΜΕ 64 ΤΙΜΕΣ 50 Χρόνος συγκρίσεων (milliseconds) 40 30 20 10 0 1000 5000 10000 20000 50000 75000 100000 200000 Μέγεθος Συλλογής tcomp - Serial tcomp - Parallel (JOMP) Μη-πραγµατικές συλλογές 500 δείγµατα 4 πυρήνες Επιτάχυνση Μικρός ρυθµός µεταβολής
Αυξάνοντας το µέγεθος Μέγεθος συλλογής 100000 200000 Χώρος αποθήκευσης (Ιστόγραµµα µε 64 τιµές) 25,2 MB 50,4 MB Χώρος αποθήκευσης (Ιστόγραµµα µε 512 τιµές) 204,8 MB 409,6 ΜΒ ΕΠΙΤΑΧΥΝΣΗ (SPEEDUP) ΑΝΑ ΜΕΓΕΘΟΣ ΣΥΛΛΟΓΗΣ ΣΤΟ ΧΡΩΜΑΤΙΚΟ ΙΣΤΟΓΡΑΜΜΑ ΜΕ 64 ΚΑΙ 512 ΤΙΜΕΣ ΑΝΤΙΣΤΟΙΧΑ Επιτάχυνση (Speedup) 5 4 3 2 1 0 1000 5000 10000 20000 50000 75000 100000 200000 Μέγεθος Συλλογής speedup - 64 τιµές speedup - 512 τιµές
Αλλάζοντας τη συνάρτηση απόστασης ΜΕΣΗ ΕΠΙΤΑΧΥΝΣΗ (SPEEDUP) ΑΝΑ ΣΥΝΑΡΤΗΣΗ ΑΠΟΣΤΑΣΗΣ Μέση επιτάχυνση (Speedup) 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 l1 l2 bhattacharyya x2 cosine tanimoto kl Συνάρτηση απόστασης Οι διαφορές φαίνονται όταν ξεφύγουµε από τη γραµµική πολυπλοκότητα Απόσταση τετραγωνικού τύπου 50 φορές πιο αργή από την L1
Αυξάνοντας τους πυρήνες ΧΡΟΝΟΣ ΣΥΓΚΡΙΣΕΩΝ ΑΝΑ ΜΕΓΕΘΟΣ ΣΥΛΛΟΓΗΣ ΚΑΙ ΠΛΗΘΟΣ ΠΥΡΗΝΩΝ Χρόνος συγκρίσεων (milliseconds) 80 70 60 50 40 30 20 10 0 1000 5000 10000 20000 50000 75000 100000 200000 Μέγεθος Συλλογής 16 πυρήνες 4 πυρήνες
Συµπεράσµατα Ανάκτηση εικόνας Ευρύ πεδίο Περιγραφείς Αξιολόγηση απόδοσης Κάλυψη σηµασιολογικού κενού Άνω όριο περιγραφέων Εφαρµογές? Ακρίβεια 50% Κλιµάκωση Χρώµα και υφή µαζί Σύνθετοι περιγραφείς Μηχανική µάθηση Απαραίτητος και χρήσιµος ο παραλληλισµός
Τέλος Παρουσίασης