Απλές οδηγίες υλοποίησης των ασκήσεων Βιβλίο µαθήµατος: «Ψηφιακή Επεξεργασία Εικόνας», Ιωάννης Πήτας Άλλα χρήσιµα βιβλία: Digital Image Processing, Rafael C. Gonzalez, Richard E. Woods Digital Image Processing, William K. Pratt Visual Information Retrieval, A. del Bimbo Ορισµοί f ( x, y) : εικόνα (-D σήµα) F ( = FFT[ f ( x, y)] : Μετασχηµατισµός Fourier της εικόνας, v : µεταβλητές στο πεδίο των συχνοτήτων F ( = R ( + I ( : Φάσµα του FFT (FFT spectrum) 1 I( φ ( = tan : Φάση R( P ( = F( = R ( + I ( : Φάσµα ισχύος (Power spectrum) N 1 N 1 1 P T = P( ή = T N N u= 0 v= 0 N 1 N 1 P f ( x, y) : Ισχύς της εικόνας (total signal power) x= 0 y= 0 Μετατόπιση FFT, ώστε το χωρικό σηµείο (0, 0) να βρεθεί στο κέντρο. Φαίνεται στο παρακάτω σχήµα. Μπορεί να γίνει και µε τη χρήση κατάλληλης ιδιότητας που έχει αναφερθεί στο µάθηµα. 1 4 3 3 4 1 Προσοχή : να µη χρησιµοποιηθεί η συνάρτηση fftshift της MATLAB για την παραπάνω εναλλαγή. Για την υλοποίηση του D-FFT µπορεί να χρησιµοποιηθεί µόνο η συνάρτηση fft (D-FFT) της MATLAB. Απεικόνιση του πλάτους του FFT Γραµµική : abs (F), όπου F = FFT ( f ) Λογαριθµική : log( abs ( F) + c), όπου F = FFT ( f ) και c : µικρή σταθερά
Φίλτρο Μεσαίου (Median) Έστω ότι εφαρµόζουµε στην εικόνα φίλτρο µεσαίου, διαστάσεων 3 3. Τότε έχουµε : 1 3 5 4 1 3 5 4 7 9 9 SORTING 7 9 9 1 3 4 5 7 9 9 Προσοχή : να µη χρησιµοποιηθεί συνάρτηση της MATLAB για την εύρεση του µεσαίου. 1 3 4 4 7 9 9 Πρόσθεση κρουστικού θορύβου (Salt & Pepper) Πρέπει να χρησιµοποιηθεί η συνάρτηση rand της MATLAB, η οποία επιστρέφει τυχαίους αριθµούς µε οµοιόµορφη κατανοµή. 0% των pixels κρουστικός θόρυβος 10% pixels = 1, 10% pixels=0 (για περιοχή τιµών [0:1]) Πρόσθεση λευκού Gaussian θορύβου Πρέπει να χρησιµοποιηθεί η συνάρτηση randn της MATLAB, η οποία επιστρέφει τυχαίες τιµές που ακολουθούν Gaussian κατανοµή. Για θόρυβο µε διασπορά σ και µέση τιµή m, ο πίνακας που προκύπτει από τη randn πρέπει να πολλαπλασιαστεί µε sqrt(σ ) (τετραγωνική ρίζα του σ ) και να προστεθεί η σταθερά m. Οπτικό σύστηµα Το γραµµικό και χωρικά αµετάβλητο σύστηµα που πρέπει να θεωρήσετε είναι ουσιαστικά ένα φίλτρο που προκαλεί θόλωµα στην εικόνα. Υλοποίηση -D DCT Να χρησιµοποιηθεί µόνο ο µονοδιάστατος FFT (συνάρτηση fft της MATLAB).
Συµπίεση x : εικόνα, X=DCT(x) Ζώνη Κατώφλι Συγκέντρωση των συντελεστών του DCT µε την περισσότερη ενέργεια DC όρος abs ( X ) >= t Οµοιόµορφος κβαντισµός : a bits/συντελεστή (εκτός του DC όρου) Ανοµοιόµορφος κβαντισµός : i οµάδες συντελεστών (εκτός του DC όρου) b i bits/συντελεστή της οµάδας i Υπολογισµός λόγου συµπίεσης : πρέπει να υπολογιστούν τα bits της πληροφορίας που είναι απαραίτητα για την αποσυµπίεση της εικόνας. Κατάτµηση εικόνας Μια µέθοδος περιγραφής δισδιάστατων αντικειµένων, είναι να περιγραφεί η περιοχή που καταλαµβάνει το αντικείµενο στο επίπεδο της εικόνας. Αυτή η µέθοδος συνδέεται µε τις τεχνικές κατάτµησης εικόνας. Ο σκοπός αυτής της άσκησης είναι η εξοικείωση µε τέτοιου είδους τεχνικές. Για το πρώτο ερώτηµα που αφορά κατάτµηση µε βάση το χρώµα µπορείτε να θεωρήσετε κατάλληλα κατώφλια για την κάθε χρωµατική συνιστώσα r (red), g (green) και b (blue). Μπορεί να γίνεται επιλογή κάποιων pixels από την περιοχή που µας ενδιαφέρει και µε βάση τις τιµές αυτών των pixels να καθοριστούν τα κατάλληλα κατώφλια. Για το δεύτερο ερώτηµα πρέπει να ληφθεί υπόψη η υφή της εικόνας. Παρατηρήστε ότι το φόντο της εικόνας που δίνεται είναι «θορυβώδες». Αυτό σηµαίνει ότι η τοπική διασπορά στην περιοχή του φόντου θα είναι µεγάλη σε σχέση µε την τοπική διασπορά στις περιοχές των αντικειµένων. Αυτή η πληροφορία µπορεί να χρησιµοποιηθεί για εντοπισµό των περιοχών της εικόνας, στις οποίες υπάρχουν τα αντικείµενα που µας ενδιαφέρουν. Στη συνέχεια, µπορεί κάποιος να χρησιµοποιήσει τεχνικές αύξησης περιοχών (ξεκινώντας από κάποια pixels που θα παίξουν τον ρόλο των seeds), για τον καθορισµό των έξι διαφορετικών περιοχών αντικειµένων που υπάρχουν στη δεδοµένη εικόνα.
Ο συνδυασµός των παραπάνω (χρώµα + υφή), µπορεί να δώσει καλύτερα αποτελέσµατα, σε κάποιες περιπτώσεις. Τα παραπάνω δεν αποτελούν παρά κάποιες αρχικές κατευθύνσεις. Ο καθένας µπορεί να χρησιµοποιήσει διαφορετικές τεχνικές, αρκεί φυσικά να επιτυγχάνεται το επιθυµητό αποτέλεσµα. Περιγραφή σχήµατος Μια άλλη µέθοδος περιγραφής σχήµατος είναι να χρησιµοποιηθεί το περίγραµµα του αντικειµένου και τα χαρακτηριστικά του (π.χ. µήκος περιγράµµατος, καµπυλότητα, γωνίες, τελεστές περιγραφής Fourier). Ο σκοπός αυτής της άσκησης είναι η εξοικείωση µε τεχνικές περιγραφής σχήµατος. Κάποιες βασικές κατευθύνσεις δίνονται και εδώ, οι οποίες όµως δεν είναι περιοριστικές. Αυτό σηµαίνει ότι ο καθένας µπορεί να υλοποιήσει διαφορετικές τεχνικές περιγραφής σχήµατος, αρκεί φυσικά να επιτυγχάνεται το επιθυµητό αποτέλεσµα. Οι τρόποι αναπαράστασης σχήµατος πρέπει να έχουν συγκεκριµένες επιθυµητές ιδιότητες. Στο συγκεκριµένο ερώτηµα πρέπει να εξεταστεί η αµεταβλητότητα στους εξής γεωµετρικούς µετασχηµατισµούς: µετατόπιση, περιστροφή και κλιµάκωση. Στην εικόνα που δίνεται υπάρχουν τέσσερα περιγράµµατα. Καταρχήν θα πρέπει να γίνει ο εντοπισµός αυτών των περιγραµµάτων. Στη συνέχεια για την περιγραφή τους προτείνεται η χρήση των τελεστών περιγραφής Fourier. Οι τελεστές περιγραφής Fourier µπορούν να δώσουν χρήσιµες αµετάβλητες περιγραφές σχήµατος. Ωστόσο, µπορούν να χρησιµοποιηθούν και άλλα χαρακτηριστικά των περιγραµµάτων και να εξεταστεί αν οι περιγραφές που δίνουν είναι αµετάβλητες στους γεωµετρικούς µετασχηµατισµούς που εξετάζουµε στη συγκεκριµένη άσκηση. Ανάκτηση εικόνων Το ζήτηµα της οµοιότητας των εικόνων είναι υποκειµενικό. Παρόλα αυτά, κάποιες από τις εικόνες που σας δίνουµε έχουν φανερή οµοιότητα. Μπορείτε να φανταστείτε ότι η οµοιότητα µεταξύ εικόνων µπορεί να αποτιµηθεί µε το να τις δείχνουµε σε έναν αριθµό από ανεξάρτητους παρατηρητές, οι οποίοι αποφαίνονται για το πόσο (και αν) µοιάζουν. Ουσιαστικά λοιπόν, το πρόγραµµα που θα υλοποιήσετε πρέπει να επιτελεί την εξής βασική λειτουργία: έχεται σαν είσοδο µία εικόνα, υπολογίζει (σύµφωνα µε κάποια µετρική που έχετε επιλέξει) το βαθµό οµοιότητας των υπολοίπων εικόνων ως προς αυτήν και τις
κατατάσσει σύµφωνα µε αυτόν (ranking). Προφανώς έτσι αξιολογούνται όλες οι εικόνες (ή τουλάχιστον ένα µεγάλο µέρος τους). Η τελική έξοδος του συστήµατος θα επιστρέφει ένα υποσύνολο των εικόνων (ή όλες), οι οποίες προκρίθηκαν ως όµοιες, ταξινοµηµένες ανάλογα µε το βαθµό οµοιότητάς τους. Τα ζητήµατα που πρέπει να σας απασχολήσουν αφορούν: A. Τη µέθοδο αναπαράστασης των εικόνων, που θα χρησιµοποιηθεί για να γίνει η ανάκτηση. Προφανώς µπορείτε να επιλέξετε και ένα συνδυασµό από τεχνικές. Απολύτως ενδεικτικά αναφέρουµε: Ιστόγραµµα. Συντελεστές DCT (ή άλλου µετασχηµατισµού, χωρικό ή συχνοτικό). Στατιστικά µεγέθη. Συναρτήσεις συσχέτισης (χωρική και φάσης). Απευθείας πάνω στα δεδοµένα της εικόνας. B. Τη µετρική που θα χρησιµοποιήσετε. Πρακτικά αυτό αποτελεί το µέτρο οµοιότητας: πώς θα υπολογίζετε την απόσταση ανάµεσα στις αναπαραστάσεις που επιλέξατε, ώστε να αποτιµήσετε την οµοιότητα (π.χ. αν πρόκειται για διανύσµατα, µπορείτε να επιλέξετε την ευκλείδεια απόσταση). C. Την υπολογιστική πολυπλοκότητα. Όπως γνωρίζετε, κάθε υπολογιστική επεξεργασία που αφορά εικόνες είναι ιδιαίτερα χρονοβόρα. Οι αλγόριθµοι που θα αναπτύξετε θα πρέπει να είναι υπολογιστικά αποδοτικοί (π.χ. αποφύγετε τα διπλά for loops και προσπαθήστε να κάνετε πράξεις µε διανύσµατα όπου είναι δυνατόν). Παρατηρήσεις: Η βαθµολογική σπουδαιότητα των παραπάνω ζητηµάτων είναι ανάλογη µε τη σειρά τους: Το πιο σηµαντικό είναι το Α, έπειτα το B κ.ο.κ. Φυσικά, το τελικό σας πρόγραµµα θα πρέπει να λειτουργεί! Επίσης, η εργασία δεν είναι καθόλου περιοριστική µε τις τεχνικές και τις µεθόδους που θα επιλέξετε να κάνετε την ανάκτηση. Όσον αφορά τη βάση που σας δίνεται, θα παρατηρήσετε ότι πρόκειται για ένα σχετικά µεγάλο αριθµό εικόνων. Οι εικόνες αυτές περιλαµβάνουν µερικές οµάδες οι οποίες είναι (όσο το δυνατόν) σχετικές µεταξύ τους. Ωστόσο, µπορείτε αν θέλετε να εφαρµόσετε τους αλγορίθµους σας σε ένα υποσύνολο των εικόνων, ή ακόµα και σε έναν αριθµό δικών σας εικόνων. Επίσης, θα παρατηρήσετε ότι οι εικόνες που σας δίνουµε έχουν µειωθεί και προσαρµοστεί στο ενιαίο µέγεθος 100x100, προς διευκόλυνσή σας. Μπορείτε να τροποποιήσετε το πρόγραµµά σας ώστε να εφαρµόζει ένα κατώφλι στις εικόνες που επιστρέφει; ηλαδή, να µην επιστρέφει όλες τις εικόνες ταξινοµηµένες, αλλά ένα ποσοστό που αποφασίζει ότι είναι πολύ σχετικότερο.