Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας Εισηγητής Αναστάσιος Κεσίδης
Χωρικά φίλτρα
Χωρικά φίλτρα Γενικά Σε αντίθεση με τις σημειακές πράξεις και μετασχηματισμούς, στα χωρικά φίλτρα η τιμή ενός pixel στην τελική εικόνα εξαρτάται από τις τιμές των pixel σε μια γειτονία της αρχικής εικόνας. Βασική λειτουργία Η εφαρμογή μιας «μάσκας» (συνήθως τετράγωνης περιοχής) πάνω από όλα τα pixel της αρχικής εικόνας. Η εφαρμογή κάποιας συνάρτησης στα pixel που βρίσκονται κάτω από την μάσκα ονομάζεται φίλτρο. Εάν η εφαρμοζόμενη συνάρτηση είναι γραμμική τότε έχουμε ονομάζεται γραμμικό φίλτρο αλλιώς μη-γραμμικό.
Γραμμικά χωρικά φίλτρα Χαρακτηριστικά Στα γραμμικά φίλτρα οι τιμές των pixel κάτω από την μάσκα συνδυάζονται με γραμμικό τρόπο, δηλαδή ως ένα σταθμισμένο άθροισμα. Η μάσκα (ή παράθυρο) καθορίζει το εύρος εφαρμογής του φίλτρου καθώς και την συσχέτιση των τιμών των pixel. Για παράδειγμα, η μάσκα H = 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 = 1 9 1 1 1 1 1 1 1 1 1 ορίζει ένα 3 3 φίλτρο εξομάλυνσης. Η αρχή συντεταγμένων της μάσκας είναι (συνήθως) το κέντρο της, συνεπώς οι συντεταγμένες των συντελεστών της είναι θετικές ή αρνητικές. Η μάσκα μπορεί να έχει οποιοδήποτε σχήμα και μέγεθος.
Γραμμικά χωρικά φίλτρα Εφαρμογή Η μάσκα H διέρχεται πάνω από όλα τα pixel της αρχικής εικόνας I έτσι ώστε το κέντρο της H(0,0) να συμπίπτει με το I(u, v) pixel της εικόνας. Όλοι οι συντελεστές της μάσκας πολλαπλασιάζονται με τα αντίστοιχα pixel και υπολογίζεται το συνολικό άθροισμα τους. Το άθροισμα αυτό τίθεται ως τιμή του pixel στην τελική εικόνα I u, v. I u, v = i,j R H I u + i, v + j H(i, j) όπου R H το σύνολο των συντεταγμένων της μάσκας ΔEN γίνεται αντικατάσταση της τιμής του pixel στην εικόνα I αλλά ορισμός της τιμής του σε μια καινούργια εικόνα I
Γραμμικά χωρικά φίλτρα Παράδειγμα 1 Υπολογισμός νέας τιμής pixel Έστω η αρχική εικόνα I και το φίλτρο H: Αρχική εικόνα I 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 Φίλτρο H 2 5 1 2 3 4 4 1 3 Στην τελική εικόνα I το pixel στην θέση u, v = 2,4 έχει τιμή 1 I 2,4 = 1 i= 1 j= 1 I 2 + i, 4 + j H(i, j) = 1 2 + 12 5 + 9 1 + 4 2 + 3 3 + 12 4 + 7 4 + 3 1 + 2 3 = 173 Τελική εικόνα I 8 4 1 12 9 8 7 4 173 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6
Γραμμικά χωρικά φίλτρα Παράδειγμα 2 - Εξομάλυνση εικόνας Η τιμή του pixel στην τελική εικόνα ισούται με την μέση τιμή του αρχικού pixel και των γειτονικών pixel Αρχική εικόνα I 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 Στην τελική εικόνα I το pixel στην θέση u, v = 4,3 έχει τιμή 1 I 4,3 = 1 i= 1 j= 1 Φίλτρο H 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.111 I 4 + i, 3 + j H(i, j) = 7.78 8 Τελική εικόνα I 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 8 6 5 5 1 13 9 6 Είναι i,j R H H i, j = 1 Συνεπώς 0 I (u, v) 255 (δεν απαιτείται αποκοπή)
Γραμμικά χωρικά φίλτρα Παράδειγμα 2 - Εξομάλυνση εικόνας
Γραμμικά χωρικά φίλτρα Παράδειγμα 3 - Εξομάλυνση εικόνας (φίλτρο με βάρη) Το φίλτρο H μπορεί να περιέχει διαφορετικές τιμές βάρους, π.χ. ο συντελεστής να εξαρτάται από την απόσταση από το κέντρο του φίλτρου Αρχική εικόνα I 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 Στην τελική εικόνα I το pixel στην θέση u, v = 4,3 έχει τιμή 1 I 4,3 = Τελική εικόνα I 1 r= 1 c= 1 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 9 6 5 5 1 13 9 6 Φίλτρο H 0.050 0.100 0.050 0.100 0.400 0.100 0.050 0.100 0.050 I 4 + r, 3 + c H(r, c) = 8.85 9 Ισχύει πάλι H i, j = 1 r,c R H
Γραμμικά χωρικά φίλτρα Παράδειγμα 3 Χρήση ακέραιων συντελεστών για το φίλτρο Αντί να χρησιμοποιούνται δεκαδικοί αριθμοί για τους συντελεστές του φίλτρου είναι πιο βολικό να χρησιμοποιούνται ακέραιες τιμές σε συνδυασμό με έναν παράγοντα κανονικοποίησης H i, j = s H i, j όπου s = 1 σ r,c RH H r,c Για παράδειγμα, Φίλτρο H 0.050 0.100 0.050 0.100 0.400 0.100 0.050 0.100 0.050 = 1 40 2 4 2 4 16 4 2 4 2
Γραμμικά χωρικά φίλτρα Περιθώρια εικόνας Απαιτείται ειδική διαχείριση καθώς υπάρχει υπερχείλιση των συντεταγμένων της μάσκας εκτός των διαστάσεων της εικόνας Υπερχείλιση μάσκας Διαστάσεις εικόνας: N x M Διαστάσεις φίλτρου (2L + 1) x (2K + 1) Μάσκα εντός εικόνας
Γραμμικά χωρικά φίλτρα Περιθώρια εικόνας 1 η Προσέγγιση Τα pixel του περιθωρίου αγνοούνται: δεν εφαρμόζεται σε αυτά το φίλτρο και διατηρούν την αρχική τους τιμή Πρόβλημα: Σε φίλτρα μεγάλων διαστάσεων γίνεται εμφανής η διαφορά ανάμεσα στα επεξεργασμένα και στα αρχικά pixel Αρχική εικόνα 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 Φίλτρο 3x3 2 5 1 2 3 4 4 1 3 Τελική εικόνα 8 4 1 12 9 8 165 119 173 12 11 184 162 127 2 2 216 178 168 5 5 1 13 9 6
Γραμμικά χωρικά φίλτρα Περιθώρια εικόνας 2 η Προσέγγιση Αποκοπή των pixel του περιθωρίου Πρόβλημα: μεταβάλλονται (μικραίνουν) οι διαστάσεις της εικόνας. Σε πολλαπλή εφαρμογή φίλτρων μπορεί να οδηγήσει σε σημαντική συρρίκνωση της αρχικής εικόνας Αρχική εικόνα 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 Φίλτρο 3x3 2 5 1 2 3 4 4 1 3 Τελική εικόνα 165 119 173 184 162 127 216 178 168
Γραμμικά χωρικά φίλτρα Περιθώρια εικόνας 3 η Προσέγγιση Συμπλήρωση των εξωτερικών pixel με μια προκαθορισμένη τιμή (π.χ. μαύρα ή γκρι) Πρόβλημα: μπορεί να προκύψουν ανεπιθύμητα σφάλματα στα περιθώρια της τελικής εικόνας (π.χ. ακμές) Αρχική εικόνα 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 Φίλτρο 3x3 2 5 1 2 3 4 4 1 3 Εκτεταμένη αρχική εικόνα 0 0 0 0 0 0 0 0 8 4 1 12 9 0 0 8 7 4 3 12 0 0 11 10 7 3 2 0 0 2 11 10 6 5 0 0 5 1 13 9 6 0 0 0 0 0 0 0 0 Τελική εικόνα 69 83 100 129 75 137 165 119 173 125 155 184 162 127 107 123 216 178 168 85 40 134 155 132 73
Γραμμικά χωρικά φίλτρα Περιθώρια εικόνας 4 η Προσέγγιση Επέκταση των τιμών περιθωρίου στα εξωτερικά pixel Συνηθέστερη επιλογή καθώς εμφανίζονται μικρότερα σφάλματα Αρχική εικόνα 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 Φίλτρο 3x3 2 5 1 2 3 4 4 1 3 Εκτεταμένη αρχική εικόνα 8 8 4 1 12 9 9 8 8 4 1 12 9 9 8 8 7 4 3 12 12 11 11 10 7 3 2 2 2 2 11 10 6 5 5 5 5 1 13 9 6 6 5 5 1 13 9 6 6 Τελική εικόνα 177 120 125 200 225 213 165 119 173 188 201 184 162 127 142 169 216 178 168 125 82 194 199 211 162
Γραμμικά χωρικά φίλτρα Βασικοί τύποι Φίλτρα εξομάλυνσης Φίλτρα των οποίων οι συντελεστές είναι μη αρνητικοί. Το αποτέλεσμα είναι ένα σταθμισμένο άθροισμα των graylevel τιμών στην γειτονία του κεντρικού pixel. Μέσης τιμής 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111
Γραμμικά χωρικά φίλτρα Βασικοί τύποι Φίλτρα εξομάλυνσης Φίλτρα των οποίων οι συντελεστές είναι μη αρνητικοί. Το αποτέλεσμα είναι ένα σταθμισμένο άθροισμα των graylevel τιμών στην γειτονία του κεντρικού pixel. Gaussian H G,σ (x, y) = e x2 +y 2 2σ 2 0.0113 0.0838 0.0113 0.0838 0.6193 0.0838 0.0113 0.0838 0.0113
Γραμμικά χωρικά φίλτρα Βασικοί τύποι Φίλτρα διαφοράς Φίλτρα στα οποία ορισμένοι συντελεστές είναι αρνητικοί και ορισμένοι θετικοί. Το αποτέλεσμα είναι η σταθμισμένη διαφορά μεταξύ των pixel με θετικούς συντελεστές και αυτών με αρνητικούς. I u, v = I u + i, v + j H i, j I u + i, v + j H i, j (i,j) R + (i,j) R + -0.1667-0.6667-0.1667-0.6667 3.3333-0.6667-0.1667-0.6667-0.1667 Ενισχύει τις τοπικές διαφορές φωτεινότητας
Γραμμικά χωρικά φίλτρα Μαθηματική περιγραφή Γραμμική Συνέλιξη (2D linear convolution) I u, v = I H = I(u i, v j) H(i, j) Σύμβολο συνέλιξης i= j= Είναι Οι συντελεστές εκτός των ορίων R H του φίλτρου θεωρούνται μηδέν I u, v = i,j R H I u i, v j H(i, j) = i,j R H I u + i, v + j H( i, j) = i,j R H I u + i, v + j H (i, j) Γραμμική Συσχέτιση (2D linear correlation) Η συσχέτιση (correlation) είναι συνέλιξη (convolution) με το φίλτρο περιεστρεμμένο κατά 180 ο
Γραμμικά χωρικά φίλτρα Ιδιότητες συνέλιξης Αντιμεταθετική I H = H I Ίδιο αποτέλεσμα εάν εφαρμόσουμε το φίλτρο στην εικόνα ή την εικόνα στο φίλτρο. Γραμμική s I H = I s H = s I H I 1 + I 2 H = I 1 H + I 2 H όπου s R αλλά b + I H b + (I H) Προσεταιριστική I H 1 H 2 = I H 1 H 2 Πολλαπλά φίλτρα μπορούν να συνδυαστούν σε καινούργια φίλτρα ή να εφαρμοστούν διαδοχικά.
Γραμμικά χωρικά φίλτρα Ιδιότητες συνέλιξης Διαχωρίσιμη Εάν ένα φίλτρο H μπορεί να εκφραστεί ως συνέλιξη πολλαπλών φίλτρων H i H = H 1 H 2 H n τότε η συνέλιξη I H μπορεί να υπολογιστεί ως μια ακολουθία συνελίξεων με τα φίλτρα H i I H = I H 1 H 2 H n = ( I H 1 H 2 H n )
Γραμμικά χωρικά φίλτρα Ιδιότητες συνέλιξης x/y διαχωρισιμότητα σε 2D φίλτρα Ένα 2D φίλτρο είναι x/y διαχωρίσιμο εάν μπορεί να εκφρασθεί ως εξωτερικό γινόμενο δύο 1D συναρτήσεων H i, j = h x i h y j Τότε, για H = h x h y είναι I = I H = I h x h y Διαχωρισιμότητα σε 2D Gaussian φίλτρα H G,σ x, y = e x2 +y 2 2σ 2 = e x2 2σ 2 e x2 2σ 2 = g σ x g σ y Συνεπώς, ένα 2D Gaussian φίλτρο μπορεί να υπολογιστεί μέσω δύο 1D Gaussian φίλτρων: I H G σ = I h G x.σ hg y.σ Σημαντικό υπολογιστικό όφελος!
Γραμμικά χωρικά φίλτρα Ιδιότητες συνέλιξης Παράδειγμα x/y διαχωρισιμότητας σε 2D φίλτρα To δυσδιάστατο 3 5 φίλτρο H = 1 1 1 1 1 1 1 1 1 1 1 15 1 1 1 1 1 μπορεί να προκύψει από δύο μονοδιάστατα φίλτρα I = I H 3 5=15 πράξεις ανά pixel εικόνας όπου H = h x h y h x = 1 5 1 1 1 1 1 και h y = 1 3 1 1 1 I = (I h x ) h y 3+5=8 πράξεις ανά pixel εικόνας Ο αριθμός των απαιτούμενων πράξεων για ένα 2D φίλτρο αυξάνεται τετραγωνικά ως προς το μέγεθος του φίλτρου (μήκος πλευράς) αλλά γραμμικά εάν το φίλτρο είναι x/y διαχωρίσιμο σε δύο 1D φίλτρα.
Μη γραμμικά χωρικά φίλτρα Χαρακτηριστικά Στα ΜΗ γραμμικά φίλτρα οι τιμές των pixel κάτω από την μάσκα συνδυάζονται μέσω μιας μη-γραμμικής συνάρτηση. Π.χ. Συναρτήσεις min και max: δίνουν την τιμή του μικρότερου και του μεγαλύτερου pixel της μάσκας, αντίστοιχα. I (u, v) = min I(u + i, v + j) i,j R H Αρχική εικόνα I 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 3 3 min filter Τελική εικόνα I 8 4 1 12 9 8 7 4 1 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 I (u, v) = Αρχική εικόνα I 8 4 1 12 9 8 7 4 3 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6 max I(u + i, v + j) i,j R H 3 3 max filter Τελική εικόνα I 8 4 1 12 9 8 7 4 12 12 11 10 7 3 2 2 11 10 6 5 5 1 13 9 6
Μη γραμμικά χωρικά φίλτρα Παράδειγμα: φίλτρα min και max Φίλτρο min 3 3 Φίλτρο min 5 5 Αρχική εικόνα Φίλτρο max 3 3 Φίλτρο max 5 5
Μη γραμμικά χωρικά φίλτρα Φίλτρο ενδιάμεσης τιμής (Median filter) Η τιμή του pixel δίνεται από την ενδιάμεση τιμή των pixel κάτω από τη μάσκα. I (u, v) = median i,j R H I(u + i, v + j) - Η ενδιάμεση τιμή ενός συνόλου 2n + 1 ταξινομημένων τιμών {x 0, x 1, x 2n } ορίζεται ως η κεντρική τιμή η οποία χωρίζει τo σύνολο των τιμών στη μέση median x 0, x 1,, x n 1, x n, x n+1,, x 2n = x n όπου x i x i+1 n τιμές n τιμές Αρχικές τιμές 9 3 8 0 1 6 5 4 3 Ταξινομημένες τιμές 0 1 3 3 4 5 6 8 9 median = 4
Μη γραμμικά χωρικά φίλτρα Φίλτρο ενδιάμεσης τιμής (Median filter) Χαρακτηριστικά - Εάν το πλήθος των τιμών είναι περιττός αριθμός (2n + 1) τότε η ενδιάμεση τιμή είναι κάποια από τις δεδομένες τιμές - Εάν το πλήθος είναι άρτιο 2n τότε η ενδιάμεση τιμή υπολογίζεται ως μέσος όρος: median x 0, x 1,, x n 1, x n, x n+1,, x 2n 1 n τιμές n τιμές = x n 1 + x n 2 όπου x i x i+1 Αρχικές τιμές 9 3 8 0 1 6 5 4 Ταξινομημένες τιμές 0 1 3 4 5 6 8 9 median = 4.5
Μη γραμμικά χωρικά φίλτρα Φίλτρο ενδιάμεσης τιμής (Median filter) Ιδιότητες - Ο υπολογισμός της ενδιάμεσης τιμής είναι λιγότερο ευαίσθητος σε ακραίες τιμές (outliers) σε σχέση με την μέση τιμή (mean) - Μπορεί να χρησιμοποιηθεί για την απομάκρυνση των outliers - Μπορεί να χρησιμοποιηθεί επαναληπτικά σε μια εικόνα - Δεν είναι γραμμική συνάρτηση median I 1 + I 2 median I 1 + median{i 2 } - Έχει σημαντικό υπολογιστικό κόστος ταξινόμηση τιμών στην γειτονία της μάσκας
Απαλοιφή θορύβου Θόρυβος σε ψηφιακές εικόνες Αλλοίωση της χρωματικής πληροφορίας από εξωτερικούς παράγοντες (π.χ. λόγω ψηφιοποίησης, παλαιότητας, σφάλματα κατά την μεταφορά/μετάδοση) Η απαλοιφή θορύβου είναι σημαντικός τομέας της ανάκτησης εικόνας
Απαλοιφή θορύβου Μέτρηση ποιότητα εικόνας Μέσο τετραγωνικό σφάλμα (Mean Squared Error - MSE) MSE = 1 R RC v=1 C u=1 I u, v I u, v 2 όπου I η αρχική εικόνα και I η εικόνα με θόρυβο. - Εξαρτάται από την κλίμακα των τιμών grayscale (π.χ. MSE = 80 για εικόνα με τιμές pixel μεταξύ 0 255 είναι σημαντικό ενώ για εικόνα με τιμές pixel μεταξύ 0 1023 είναι αμελητέο). Μέγιστο Σήμα προς Θόρυβο (Peak Signal-to-Noise Ratio - PSNR) 2 MAX I PSNR = 10 log 10 MSE όπου MAX I η μέγιστη grayscale τιμή της εικόνας (συνήθως 255).
Απαλοιφή θορύβου Gaussian θόρυβος I n = I + N Θόρυβος Μέση τιμή 0 Διασπορά 0.002
Απαλοιφή θορύβου Gaussian θόρυβος I n = I + N Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Gaussian θόρυβος I n = I + N Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Gaussian θόρυβος I n = I + N Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Speckle θόρυβος I n = I(1 + N) Θόρυβος Μέση τιμή 0 Διασπορά 0.005
Απαλοιφή θορύβου Speckle θόρυβος I n = I(1 + N) Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Speckle θόρυβος I n = I(1 + N) Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Speckle θόρυβος I n = I(1 + N) Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Salt & pepper θόρυβος Θόρυβος Πυκνότητα 0.05
Απαλοιφή θορύβου Salt & pepper θόρυβος Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Salt & pepper θόρυβος Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Salt & pepper θόρυβος Παραδείγματα απαλοιφής με mean και median φίλτρα
Απαλοιφή θορύβου Χρήση πολλαπλών εικόνων Προϋποθέσεις Είναι διαθέσιμες N εικόνες του ίδιου θέματος G i = I o + n i με 1 i N όπου - G i η i-οστή εικόνα που περιέχει θόρυβο - I o η αρχική εικόνα χωρίς θόρυβο - n i ο θόρυβος της i-οστής εικόνας Ο θόρυβος είναι Gaussian με μέση τιμή 0 E n i = 0 Ο θόρυβος μεταξύ των pixel είναι ασυσχέτιστος E n i n j = 0 για n i n j
Απαλοιφή θορύβου Χρήση πολλαπλών εικόνων Η τελική εικόνα υπολογίζεται ως N G(u, v) = 1 N i=1 G i (u, v) Οι τιμές των pixel στην τελική εικόνα θεωρούνται τυχαίες μεταβλητές. N E G u, v = E 1 N i=1 N G i u, v = 1 N E i=1 G i u, v N = 1 N E i=1 I o u, v + n i u, v = 1 N E i=1 N N I o u, v + 1 N E i=1 n i u, v = 1 N N I o u, v + 1 N N 0 = I o u, v Συνεπώς, η αναμενόμενες τιμές της τελικής εικόνας ισούται με της αρχικής.
Απαλοιφή θορύβου Χρήση πολλαπλών εικόνων Η διασπορά των τιμών στην τελική εικόνα είναι σ 2 G = σ 2 Io + 1 N 2 σ n 2 1 + σ 2 n2 + + σ2 nn = 1 N σ n 2 Όσο αυξάνεται το πλήθος των διαθέσιμων εικόνων τόσο μειώνεται η διασπορά των τιμών στην τελική εικόνα.