ΤΨΣ 15 Ψηφιακή Επεξεργασία Εικόνας Βελτίωση Ποιότητας Εικόνας: Επεξεργασία στο πεδίο της Εικόνας Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς Περιεχόµενα Βιβλιογραφία Περιεχόµενα Ενότητας Εισαγωγή Μετασχηµατισµοί Φωτεινότητας Επεξεργασία Ιστογράµµατος Απαλοιφή Θορύβου Χωρικό Φιλτράρισµα Βιβλιογραφία: Πήτας [1999]: Κεφάλαιο 7 Gonzales [22]: Chapter 3, Gonzales [24]: Chapter 3, [online pdf] Εισαγωγή Η χωρική επεξεργασία εικόνας (επεξεργασία κατευθείαν στις τιµές των pixel) περιγράφεται από τη σχέση: g(x,y) = T[f(x,y)] όπου f(x,y) η εικόνα εισόδου, Τ ένας τελεστής που εφαρµόζεται στην f στη γειτονιά ενός pixel (x,y), και g(x,y) η εικόνα εξόδου (επεξεργασµένη εικόνα) Συνήθως η γειτονιά είναι τετραγωνική µε τυπικά µεγέθη 3x3, 5x5, ή 7x7 Ο τελεστής Τ εφαρµόζεται σε όλα τα pixel της εικόνας αρχίζοντας από το πάνω αριστερά γωνία µέχρι τη κάτω δεξιά γωνία 1
Μετασχηµατισµοί Φωτεινότητας Στους µετασχηµατισµούς φωτεινότητας η γειτονιά η οποία χρησιµοποιείται εκφυλίζεται σε µεµονωµένα pixel (1x1). Σε αυτή την περίπτωση έχουµε απλά επεξεργασία σηµείου, δηλαδή η τιµή φωτεινότητας r ενός pixel µετασχηµατίζεται στη τιµή φωτεινότητας s σύµφωνα µε τη σχέση s=t(r) Παράδειγµα: s=255/(1+(127/r) E ), E>1, r є ( 255] Μετασχηµατισµοί Φωτεινότητας (ΙΙ) Μερικές συναρτήσεις µετασχηµατισµών φωτεινότητας (τελεστές T) εµφαίνονται στο διπλανό σχήµα: s=b e r -a s=b r n -a, n>1 s=b r n -a, <n<1 s=c log(1+ r ) s=l-1-r, L = επίπεδα φωτεινότητας Αρνητικό (Συµπλήρωµα) Εικόνας Πραγµατοποιείται µέσω του µετασχηµατισµού: s=l-1-r, L = επίπεδα φωτεινότητας Εντολή imcomplement στη Matlab Χρήσιµο σε περιπτώσεις ιατρικών εικόνων όπου χρειάζεται να αναδείξουµε αποχρώσεις του γκρι που βρίσκονται σε µαύρο φόντο. Χρήσιµο επίσης σε φωτογραφίσεις οθονών και χρήση των αποτελεσµάτων ως διαφάνειες 2
7 6 5 4 3 2 1 5 1 15 2 25 Ρύθµιση Φωτεινότητας Μετασχηµατισµός s=c r γ (στα παραδείγµατα του διπλανού σχήµατος έχουµε c=1) γ>1 => πιο σκούρα εικόνα εξόδου γ<1 =>πιο φωτεινή εικόνα εξόδου Εντολή imadjust στη Matlab: g=imadjust(f, [lowin, highin], [lowout, highout], gamma) Ρύθµιση Φωτεινότητας (I) (a) αρχική εικόνα f (b) ιστόγραµµα εικόνας (γ) εικόνα g αποτέλεσµα της εφαρµογής της εντολής: g=imadjust(f, [,.5], [1, ],.85) Ρύθµιση Φωτεινότητας (ΙΙ) 3
Ρύθµιση Φωτεινότητας (ΙΙI) ιόρθωση γ Ενίσχυση Αντίθεσης (Contrast) Αιτίες δηµιουργίας εικόνων µε χαµηλή αντίθεση (contrast) Κακός φωτισµός Μικρή δυναµική περιοχή αισθητήρων καταγραφής Κακή ρύθµιση διαφράγµατος φακού Για ενίσχυση αντίθεσης εφαρµόζεται η συνάρτηση: s=255/(1+(m/r) E ), E>1, r є ( 255] Κλειδί η κατάλληλη επιλογή της τιµής m 4
2 18 16 14 12 1 8 6 4 2 5 1 15 2 25 2 18 16 14 12 1 8 6 4 2 5 1 15 2 25 Ενίσχυση Αντίθεσης (II) Εφαρµογή της συνάρτησης: s=255/(1+(m/r) E ) µε Ε=1.5 και: (a) m=127 (b) m=64 (c) m=2 Συµπίεση εύρους ζώνης Φωτεινότητας Χρειάζεται όταν η συσκευή απεικόνισης (π.χ. monitor) δεν είναι ικανή να απεικονίσει όλα τα επίπεδα φωτεινότητας Το πρόβληµα είναι σηµαντικό όταν τα επίπεδα φωτεινότητας δεν είναι οµοιόµορφα κατανεµηµένα Παράδειγµα: απεικόνιση του Μετασχηµατισµού Fourier µιας εικόνας Συνήθως χρησιµοποιείται η συνάρτηση s=c log(1+r), r > Συµπίεση εύρους ζώνης Φωτεινότητας (II) Εφαρµογή της συνάρτησης s=255 log(1+r)/5.44 5
Ενίσχυση περιοχών γκρι επιπέδου Σε κάποιες περιπτώσεις είναι επιθυµητό ορισµένα επίπεδα φωτεινότητας να ενισχυθούν ώστε να τονισθούν αντικείµενα στην εικόνα τα οποία αντιστοιχούν στις φωτεινότητες αυτές Κυρίως σε ιατρικές εφαρµογές ιαδραστική επικοινωνία µε την εφαρµογή Επεξεργασία στα δυαδικά επίπεδα Σε πολλές περιπτώσεις µπορούµε να θεωρήσουµε τα pixel που αντιστοιχούν στις φωτεινότητες της εικόνας ως επίπεδα: Για παράδειγµα το σύνολο των MSB (Most Significant Bit) αποτελούν το επίπεδο 7 στο παραπάνω παράδειγµα Το σύνολο των LSB (Least Significant Bit) αποτελούν το επίπεδο Επεξεργασία στα δυαδικά επίπεδα (ΙΙ) 6
Επεξεργασία Ιστογράµµατος Το ιστόγραµµα h µιας εικόνας µε L επίπεδα του γκρι (φωτεινότητας) ορίζεται ως: h(r k )=n k, όπου r k είναι το k-στο επίπεδο φωτεινότηατς στο διάστηµα [ G] και n k ο αριθµός των pixels στην εικόνα των οποίων η τιµή φωτεινότητας είναι r k. Το p(r k )=n k /n, ονοµάζεται κανονικοποιηµένο ιστόγραµµα (όπου n o συνολικός αριθµός pixel της εικόνας). Η ποσότητα p(r k ) αποτελεί την εκτίµηση της πιθανότητας εµφάνισης του επιπέδου φωτεινότητας r k. Με βάση το ιστόγραµµα διακρίνουµε 4 βασικές κατηγορίες εικόνων όπως φαίνεται στο διπλανό σχήµα Εξίσωση Ιστογράµµατος Στην εξίσωση ιστογράµµατος επιθυµούµε το ιστόγραµµα της µετασχηµατισµένης εικόνας να έχει µια σχετικά οµοιόµορφη κατανοµή δηλαδή h(r k )=n k όπου n 1 n 2 Ng Για το σκοπό αυτό ορίζουµε τον k µετασχηµατισµό: n j sk = n j= 1 Εξίσωση Ιστογράµµατος (ΙΙ) Όπως φαίνεται από τις εικόνες των παραδειγµάτων η εξίσωση ιστογράµµατος ενισχύει την αντίθεση αλλά σε αρκετές περιπτώσεις δηµιουργεί τεχνουργήµατα (ψευδείς οµοιόµορφες περιοχές false contouring) k n j Η εφαρµογή της σχέσης sk = δεν εγγυάται n j= 1 την οµοιόµορφη κατανοµή λόγω της διακριτής µορφής των ιστογραµµάτων φωτεινότητας στην εικόνα του αποτελέσµατος (όπως φαίνεται και από το αντίστοιχο ιστόγραµµα) 2 2 18 18 16 16 14 14 12 12 1 1 8 8 6 6 4 4 2 2 5 1 15 2 25 5 1 25 15 Nicolas 2Tsapatsoulis 25 7
2 18 16 14 12 1 8 6 4 2 5 1 15 2 25 Εξίσωση Ιστογράµµατος (ΙΙΙ) Χρήσιµες εντολές στη Matlab 25 T(r) - Transformation Function for Histogram Equalization imhist () => ηµιουργεί το ιστόγραµµα µιας εικόνας 2 histeq () => Εξίσωση ιστογράµµατος cumsum () => Συσσωρευτικό άθροισµα των τιµών ενός διανύσµατος s -> (Output intensities) 15 1 5 5 1 15 2 25 r -> (Input intensities) 2 18 16 14 12 1 8 6 4 2 5 1 15 2 25 Ταύτιση Ιστογράµµατος Όπως ήδη προαναφέραµε η εξίσωση ιστογράµµατος δεν εγγυάται πλήρως οµοιόµορφο ιστόγραµµα Για το λόγω αυτό καθώς και για εφαρµογές όπου χρειάζεται οι εικόνες µας να έχουν συγκεκριµένη µορφή ιστογράµµατος εφαρµόζεται η τεχνική ταύτισης ιστογράµµατος Ταύτιση Ιστογράµµατος (ΙΙ) Παράδειγµα: Έστω ότι θέλουµε η εικόνα µας να έχει το ιστόγραµµα hspec µορφής Gauss όπως φαίνεται στο σχήµα στα αριστερά. Εκτελούµε την εντολή g=histeq(f,hspec), όπου f η εικόνα εισόδου και g η εικόνα ταυτισµένου ιστογράµµατος Παρατηρούµε ότι το τελικό ιστόγραµµα της εικόνας (σχήµα στα δεξιά) έχει σε γενικές γραµµές τη ζητούµενη µορφή. Πλήρης ταύτιση δεν µπορεί να επιτευχθεί µε δεδοµένη την κατανοµή φωτεινοτήτων της αρχικής εικόνας.15 Specified Histogram following Gaussian distribution 4 Histogram of transformed image 35 3 Probability of Appearence.1.5 Probability of Appearence 25 2 15 1 5 5 1 15 2 25 Intensity Values Intensity Values 5 1 15 2 25 8
Ταύτιση Ιστογράµµατος (ΙΙΙ) Ταύτιση Ιστογράµµατος (ΙV) Τοπική Επεξεργασία Ιστογράµµατος Σε πολλές περιπτώσεις η συνολική εξίσωση ιστογράµµατος ή η ταύτιση ιστογράµµατος δεν επαρκούν για να αναδείξουν µικρές διαφορές στις τιµές φωτεινότητας των pixel µιας εικόνας Στις περιπτώσεις αυτές εφαρµόζεται εξίσωση ιστογράµµατος σε υποπεριοχές της εικόνας Μια υποπεριοχή της εικόνας MxN pixels είναι συνήθως µια ορθογώνια ή τετράγωνη περιοχή της εικόνας µεγέθους mxn µε m<<m, n<<n 9
Απαλοιφή Θορύβου Έστω η θορυβώδης εικόνα g(x,y) = f(x,y)+n(x,y), όπου f(x,y) η πραγµατική εικόνα και n(x,y) τυχαίος προσθετικός θόρυβος µε µέση τιµή µηδέν. Με δεδοµένο ότι ο προσθετικός θόρυβος µπορεί να επηρεάζει τυχαία pixels σε κάθε λήψη µιας εικόνας g(x,y) αν χρησιµοποιήσουµε Κ εικόνες g που απεικονίζουν την ίδια εικόνα f και πάρουµε τη µέση τιµή των εικόνων αυτών µπορούµε να προσεγγίσουµε σε αρκετά καλό βαθµό την πραγµατική εικόνα f (a) πραγµατική εικόνα, (β) θορυβώδης εικόνα, (γ) µέση τιµή 4 εικόνων, (δ) - µέση τιµή 8 εικόνων Απαλοιφή Θορύβου (II) Αφαίρεση Μάσκας Η αφαίρεση εικόνων g(x,y)=f(x,)-h(x,y) είναι µια χρήσιµη τεχνική όταν θέλουµε να διαπιστώσουµε διαφορές ανάµεσα σε εικόνες όπως στην περίπτωση αγγειογραφηµάτων Για να υπάρχει καλύτερη απεικόνιση της αρτηρίας η αρχική εικόνα (εικόνα µάσκας) αφαιρείται από την εικόνα που προκύπτει µετά από εισαγωγή στο αίµα χρωστικών ουσιών Το αποτέλεσµα είναι ο τονισµός των διαφορών των εικόνων οι οποίες προσδιορίζονται στις περιοχές της αρτηρίας που έχει φτάσει η χρωστική ουσία 1
Χωρικό Φιλτράρισµα Το χωρικό φιλτράρισµα αφορά την εφαρµογή κάποιων τελεστών κατευθείαν στις τιµές των pixels της εικόνας. Περιλαµβάνει τα παρακάτω στάδια: 1. Επιλογή του pixel (x,y) του οποίου η τιµή θα τροποποιηθεί ως αποτέλεσµα της εφαρµογής του τελεστή 2. Εφαρµογή του τελεστή (περιλαµβάνει τη χρήση των τιµών των pixels σε µια γειτονιά του (x,y) 3. Ανάθεση της απόκρισης του τελεστή ως τιµή φωτεινότητας του pixel (x,y) 4. Επανάληψη της διαδικασίας για όλα τα pixel (x,y) της εικόνας ιακρίνουµε δύο βασικές µεθοδολογίες χωρικού φιλτραρίσµατος: Γραµµικό φιλτράρισµα (χρήση της συνάρτησης imfilter) Μη γραµµικό φιλτράρισµα (χρήση της συνάρτησης ordfilt2 ή της συνάρτησης medfilt2) Για την εφαρµογή χωρικού φιλτραρίσµατος χρειάζεται ορισµός της κατάλληλης µάσκας (mask ή kernel ή template) η οποία καθορίζει τη βαρύτητα µε την οποία κάθε γειτονικό pixel συµµετέχει στον καθορισµό της απόκρισης του τελεστή Χωρικό Φιλτράρισµα (ΙΙ) Φίλτρα Εξοµάλυνσης Τα φίλτρα εξοµάλυνσης προσπαθούν να απαλείψουν απότοµες µεταβολές της εικόνας. Χρησιµοποιούνται για απαλοιφή θορύβου ειδικής µορφής (π.χ. Gaussian) καθώς και ως προ-επεξεργασία για εφαρµογές όπως εντοπισµός αντικειµένων, συνένωση περιοχών, κλπ. Η µορφή της µάσκας στα φίλτρα εξοµάλυνση είναι όπως παρακάτω (όλοι οι συντελεστές θετικοί άθροισµα 1): 11
Φίλτρα Εξοµάλυνσης (ΙΙ) Φίλτρα Ανάδειξης Ακµών Τα φίλτρα ανάδειξης ακµών προσπαθούν να τονίσουν τις απότοµες µεταβολές της εικόνας βελτιώνοντας έτσι την οπτική της ποιότητα όσον αφορά την αντίληψη της από τον άνθρωπο αλλά και για το διαχωρισµό αντικείµένων και περιοχών στη εικόνα Η µορφή της µάσκας στα φίλτρα ανάδειξης ακµών είναι όπως το διπλανό σχήµα Είτε η τιµή του κεντρικού pixel θετική και των γειτονικών αρνητική είτε το αντίστροφο Το άθροισµα των συντελεστών = Φίλτρα Ανάδειξης Ακµών (ΙΙ) 12
Φίλτρα Ανάδειξης Ακµών (ΙΙΙ) Τα κλασσικά φίλτρα ανάδειξης ακµών λόγω της µορφής τους (άθροισµα συντελεστών =) καταστρέφουν τις οµοιόκορφες περιόχες Αντιµετώπιση αυτού του προβλήµατος επιτυγχάνεται µε την επονοµαζόµενη τεχνική high-boost filtering Το άθροισµα των συντελεστών της µάσκας είναι ίσο µε A Για Α=1 οι οµοιόµορφες περιοχές της εικόνας διατηρούν την τιµή τους Φίλτρα Ανάδειξης Ακµών (ΙV) Φίλτρα Ανάδειξης Ακµών (V) 13
Φίλτρα Παραγώγων Τα φίλτρα παραγώγων είναι στην πραγµατικότητα ειδικές µορφές φίλτρων ανάδειξης ακµών. Προσπαθούν να υπολογίσουν τις παραγώγους της φωτεινότητας στη κάθετη και την οριζόντια διεύθυνση της εικόνας Υπάρχουν διάφορες µάσκες για την προσέγγιση της τιµής της παραγώγου. Μερικές από αυτές φαίνονται στο διπλανό σχήµα Στη Matlab για υλοποίηση και χρήση των παραγώγων για εύρεση ακµών χρησιµοποιείται η εντολή edge Φίλτρα Παραγώγων (II) Φίλτρα Παραγώγων (III) 14
Μη γραµµικά φίλτρα Τα µη γραµµικά φίλτρα ή φίλτρα διάταξης χρησιµοποιούνται τόσο για εξοµάλυνση όσο και για ανάδειξη ακµών και εκτίµηση παραγώγων Η βασική διαδικασία που εφαρµόζεται είναι 1. Ταξινόµηση των τιµών φωτεινότητας στη γειτονιά του pixel µε αύξουσα σειρά 2. Αντικατάσταση της τιµής φωτεινότητας του pixel από τη ν-στη στη διάταξη τιµή φωτεινότητας (επιλογή της ενδιάµεσης τιµής οδηγεί στα πολύ γνωστά median filters) 3. Εφαρµογή της παραπάνω διαδικασίας για όλα τα pixel της εικόνας Σύνοψη Το υλικό που παρουσιάστηκε σε αυτή την ενότητα αναφέρεται στη βελτίωση ποιότητας εικόνας στο πεδίο των τιµών των pixels. Βελτίωση επιτυγχάνεται µε τεχνικές: Μετατροπής φωτεινότητας της εικόνας Ρύθµιση φωτεινότητας Ενίσχυση αντίθεσης Συµπίεση δυναµικής περιοχής φωτεινότητας Επεξεργασίας Ιστογράµµατος Εξίσωση ιστογράµµατος Ταύτιση ιστογράµµατος Χωρικό φιλτράρισµα Φίλτρα εξοµάλυνσης Φίλτρα ανάδειξης ακµών Φίλτρα παραγώγων Μη γραµµικά φίλτρα 15