35
Ψηφιακή Επεξεργασία Εικόνας Ενότητα 3 : Αποκατάσταση εικόνας (Image Restoration) Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

νόη α 3 : Αποκαʐάσʐαση εικόναςeclass.teipir.gr/openeclass/modules/document/file.php/HYS107/I. Διαφάνειες... · (Image Restoration) ... Adaptive median

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Ψηφιακή Επεξεργασία Εικόνας

Ενότητα 3 : Αποκατάσταση εικόνας (Image Restoration)

Ιωάννης Έλληνας

Τμήμα Η/ΥΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

Άδειες Χρήσης

• Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

• Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

2

Χρηματοδότηση • Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια

του εκπαιδευτικού έργου του διδάσκοντα.

• Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού.

• Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

3

Σκοποί ενότητας

• Σε αυτή την ενότητα θα ανακαλύψετε τις μεθόδους με τις οποίες απομακρύνουμε τον θόρυβο από μια εικόνα συμβάλλοντας έτσι στην αποκατάστασή της.

4

Περιεχόμενα ενότητας

• Τύποι θορύβου

• Φίλτρο αριθμητικής μέσης τιμής

• Φίλτρο γεωμετρικής μέσης τιμής

• Φίλτρο μεσαίας τιμής

• Φίλτρο ενδιάμεσου σημείου

• Φίλτρο ρυθμιζόμενης μέσης τιμής

• Προσαρμοζόμενο φίλτρο τοπικού θορύβου

• Προσαρμοζόμενο φίλτρο μεσαίας τιμής

5

Τύποι θορύβου (1)

Υπάρχουν διάφοροι τύποι θορύβου, η ονομασία των οποίων προκύπτει από τη μορφή της συνάρτησης πυκνότητας πιθανότητας (probability density function ή pdf).

Gaussian noise

• μ = μέση τιμή (mean)

• σ = απόκλιση (standard deviation)

• σ2 = διασπορά (variance)

6

Τύποι θορύβου (2)

7

Τύποι θορύβου (3)

• Ο Gaussian θόρυβος υπάρχει σε μια εικόνα κυρίως λόγω της απόδοσης του αισθητηρίου λήψης κάτω από συνθήκες μη επαρκούς φωτισμού ή υψηλής θερμοκρασίας.

• Ο Uniform θόρυβος δεν δημιουργείται πρακτικά, αλλά είναι χρήσιμος για την εξομοίωση αλγορίθμων απαλοιφής θορύβου.

• Ο Impulse θόρυβος δημιουργείται συνήθως από το on/off διακοπτών (μηχανικών ή ηλεκτρονικών) στη διαδικασία λήψης ή μετάδοσης μιας εικόνας.

• Υπάρχουν και άλλοι τύποι θορύβου, όπως: ο θόρυβος Rayleigh που χαρακτηρίζει εικόνες πεδίων, ο θόρυβος exponential ή ο θόρυβος gamma που χαρακτηρίζουν εικόνες laser κλπ.

8

Τύποι θορύβου (4)

•Στο Matlab υπάρχει η συνάρτηση imnoise με την οποία προστίθεται θόρυβος σε μια εικόνα:

y = imnoise ( x , type , parameters )

Όπου: type , parameters ‘gaussian’ , m , var m=mean και var=variance (σ2)

‘salt & pepper’ , d d=noise density (d=0.05 δηλ. επηρεάζονται d*h*w pixels)

Επειδή η συνάρτηση μετατρέπει την εικόνα εισόδου σε τύπο double στην περιοχή [0 1], πρέπει και οι παράμετροι να ευρίσκονται στην ίδια περιοχή, δηλαδή πρέπει οι πραγματικές τιμές να κανονικοποιηθούν: m/255 και var/(2552).

•Ένας άλλος τρόπος παραγωγής θορύβου σε μια εικόνα είναι οι γεννήτριες ψευδοτυχαίων αριθμών. Στο Matlab υπάρχει η συνάρτηση n = rand ( M , N ), η οποία παράγει πίνακα Μ×Ν με στοιχεία που παρουσιάζουν ομοιόμορφη κατανομή στην περιοχή [0 1]. Επίσης τη συνάρτηση n = randn ( M , N ), η οποία παράγει πίνακα Μ×Ν με στοιχεία που παρουσιάζουν Gaussian κατανομή μηδενικής μέσης τιμής και μοναδιαίας διασποράς.

9

Τύποι θορύβου (5)

Σχήμα 3.1 Ιστόγραμμα κανονικού θορύβου παραγόμενο από τη συνάρτηση rand

Σχήμα 3.1 Ιστόγραμμα κατανομής Gaussian παραγόμενο από τη συνάρτηση randn

10

Τύποι θορύβου (6)

• Για να παράγει το Matlab κάθε φορά διαφορετική ακολουθία ψευδοτυχαίων αριθμών, χρησιμοποιείται η αντίστοιχη συνάρτηση ως εξής: rand ή randn ( ‘state’ , sum ( 100 * clock) ). Η σχέση με την οποία δημιουργείται θόρυβος σε μια εικόνα με την ψευδοτυχαία γεννήτρια είναι:

Noised image = image + σ * noise (3.1)

• Για παράδειγμα, στην εικόνα “cameraman.tif” προστίθεται Gaussian θόρυβος με σ=1 και σ=30 με το παρακάτω πρόγραμμα και το αποτέλεσμα φαίνεται στο Σχήμα 3.2.

11

Τύποι θορύβου (7)

>> x=imread('cameraman.tif');

>> randn('state',sum(100*clock));

>> sigma=[10,30];

>> x=double(x);

>> y1=x+sigma(1)*randn(size(x));

>> y2=x+sigma(2)*randn(size(x));

>> imshow(y1,[])

>> figure;

>> imshow(y2,[])

Σχήμα 3.2 Εικόνα με προσθετικό Gaussian θόρυβο σ=10 και σ=30 (AWGN-Additive White Gaussian Noise).

12

Φίλτρο αριθμητικής μέσης τιμής (1)

• Το φίλτρο αυτό είναι το ίδιο με εκείνο του προηγούμενου κεφαλαίου για τον εμπλουτισμό εικόνας και βασίζεται στη σχέση:

• Όπου g(x,y) είναι η εικόνα με θόρυβο, f(x,y) είναι η έξοδος του φίλτρου και Αxy είναι η μάσκα διαστάσεων m×n. Η αριθμητική μέση τιμή προκαλεί την εξομάλυνση μιας περιοχής και η αίσθηση μείωσης του θορύβου προκαλείται από το θολό αποτέλεσμα στην περιοχή (blurring). Το Σχήμα 3.3 δείχνει το αποτέλεσμα ενός τέτοιου φίλτρου 7×7 στην προηγούμενη εικόνα, η οποία έχει Gaussian θόρυβο με σ=30.

13

Φίλτρο αριθμητικής μέσης τιμής (2)

>> x=imread('cameraman.tif');

>> x=double(x);

>> sigma=30;

>> y=x+sigma*randn(size(x));

>> mask=fspecial('average',[7 7]);

>> z=imfilter(y,mask,'symmetric');

>> imshow(z,[])

Σχήμα 3.3 Φίλτρο μέσης τιμής 7×7 σε εικόνα με AWGN και σ=30.

14

Φίλτρο γεωμετρικής μέσης τιμής (1)

• Το φίλτρο αυτό βασίζεται στη σχέση:

• Το κάθε pixel της εικόνας με θόρυβο αντικαθίσταται από το γινόμενο των pixels στη γειτονιά του, υψωμένο στη δύναμη 1/mn.

• Το Σχήμα 3.4 δείχνει το αποτέλεσμα ενός τέτοιου φίλτρου 7×7 στην προηγούμενη εικόνα, η οποία έχει Gaussian θόρυβο με σ=30. Παρατηρείται λιγότερο blurring από το προηγούμενο φίλτρο.

15

Φίλτρο γεωμετρικής μέσης τιμής (2)

>> x=imread('cameraman.tif');

>> x=double(x);

>> sigma=30;

>> y=x+sigma*randn(size(x));

>>z=exp(imfilter(log(y),ones(7,7),'symmetric')).^(1/7/7);

>> imshow(z,[])

Σχήμα 3.3 Φίλτρο γεωμετρικής μέσης τιμής 7×7 σε εικόνα με AWGN και σ=30.

16

Φίλτρο μεσαίας τιμής - median (1)

• Το φίλτρο αυτό βασίζεται στη σχέση:

• Το κάθε pixel της εικόνας με θόρυβο αντικαθίσταται από τη μεσαία τιμή των pixels στη γειτονιά του. Η αρχική τιμή του περιλαμβάνεται σε αυτόν τον υπολογισμό. Αυτός ο τύπος φίλτρου είναι ιδιαίτερα αποτελεσματικός στην απομάκρυνση θορύβου τύπου “salt & pepper”. Η συνάρτηση η οποία υλοποιεί αυτόν τον τύπο φίλτρου στο Matlab είναι η medfilt2, όπως αυτή περιγράφεται στο τέλος του προηγούμενου κεφαλαίου.

17

Φίλτρο μεσαίας τιμής - median (2)

• Το φίλτρο αυτό βασίζεται στη σχέση:

• Φίλτρο μέγιστης τιμής (max)

• Το κάθε pixel της εικόνας με θόρυβο αντικαθίσταται από τη μέγιστη τιμή των pixels στη γειτονιά του. Η αρχική τιμή του περιλαμβάνεται σε αυτόν τον υπολογισμό. Αυτός ο τύπος φίλτρου αναδεικνύει τα pixels με τη μεγαλύτερη φωτεινότητα και συνεπώς υποβαθμίζει το θόρυβο τύπου “pepper”.

18

Φίλτρο μεσαίας τιμής - median (3)

Η συνάρτηση η οποία υλοποιεί αυτόν τον τύπο φίλτρου στο Matlab είναι η εξής:

• y = ordfilt2 ( x , order , mask )

• Όπου order είναι ο αριθμός του στοιχείου σε μια σειρά από αύξουσες τιμές και mask είναι η γειτονιά του εξεταζόμενου pixel. Στην περίπτωση του συγκεκριμένου φίλτρου η παραπάνω συνάρτηση παίρνει την εξής μορφή:

• y = ordfilt2 ( x , m*n , ones ( m , n ) )

19

Φίλτρο μεσαίας τιμής - median (4)

• Φίλτρο ελάχιστης τιμής (min)

• Το φίλτρο αυτό βασίζεται στη σχέση:

• Το κάθε pixel της εικόνας με θόρυβο αντικαθίσταται από την ελάχιστη τιμή των pixels στη γειτονιά του. Η αρχική τιμή του περιλαμβάνεται σε αυτόν τον υπολογισμό. Αυτός ο τύπος φίλτρου αναδεικνύει τα pixels με τη μικρότερη φωτεινότητα και συνεπώς υποβαθμίζει το θόρυβο τύπου “salt”. Η συνάρτηση η οποία υλοποιεί αυτόν τον τύπο φίλτρου στο Matlab είναι η εξής:

• y = ordfilt2 ( x , 1 , ones ( m , n ) )

20

Φίλτρο μεσαίας τιμής - median (5)

• Το Σχήμα 3.4 δείχνει το αποτέλεσμα εφαρμογής των φίλτρων αριθμητικής μέσης τιμής, γεωμετρικής μέσης τιμής, median, max και min σε μια εικόνα η οποία έχει θόρυβο “salt & pepper” (d=0.2). Το Σχήμα 3.5 δείχνει την απόδοση των ίδιων φίλτρων σε εικόνα η οποία έχει θόρυβο AWGN. Η μάσκα που έχει χρησιμοποιηθεί για όλες τις υλοποιήσεις είναι 3Χ3.

• Παρατηρούμε την πολύ καλή απόδοση του φίλτρου median στην αποκατάσταση της εικόνας από θόρυβο τύπου ‘salt & pepper’ και τη μέτρια απόδοση όλων των φίλτρων στην εικόνα με θόρυβο τύπου Gaussian (σ=30).

21

Σχήμα 3.4 (α) Εικόνα με θόρυβο ‘salt & pepper’ (d=0.2). (β) Φίλτρο αριθμ. μέσης τιμής. (γ) Φίλτρο γεωμετρικής μέσης τιμής. (δ) Φίλτρο median. (ε) Φίλτρο max. (στ) Φίλτρο min.

Παράδειγμα (1)

22

Σχήμα 3.5 (α) Εικόνα με θόρυβο Gaussian (σ=30). (β) Φίλτρο αριθμ. μέσης τιμής. (γ) Φίλτρο γεωμετρικής μέσης τιμής. (δ) Φίλτρο median. (ε) Φίλτρο max. (στ) Φίλτρο min.

Παράδειγμα (2)

23

Φίλτρο ενδιάμεσου σημείου (1)

• Το φίλτρο ενδιάμεσου σημείου υπολογίζει την ενδιάμεση τιμή μεταξύ ελαχίστου και μεγίστου στην περιοχή της μάσκας και τοποθετεί το αποτέλεσμα στη θέση του εξεταζόμενου στοιχείου της περιοχής. Η σχέση η οποία διέπει τη λειτουργία αυτού του φίλτρου είναι:

24

Φίλτρο ενδιάμεσου σημείου (2)

(α) Εικόνα με θόρυβο Gaussian (σ=20). (β) Φίλτρο μέγιστης τιμής. (γ) Φίλτρο ελάχιστης τιμής.(δ) Φίλτρο ενδιάμεσου σημείου.

25

Alpha –trimmed mean filter

Φίλτρο ρυθμιζόμενης μέσης τιμής (1)

26

Χρήση φίλτρου

Φίλτρο ρυθμιζόμενης μέσης τιμής (2)

27

Μάσκα 3 x 3 και k = 5

Φίλτρο ρυθμιζόμενης μέσης τιμής (3)

28

Προσαρμοζόμενo φίλτρο τοπικού θορύβου(1)

• Τα φίλτρα που έχουν αναφερθεί λειτουργούν επαναληπτικά σε μια περιοχή της εικόνας η οποία καλείται μάσκα, με ένα προκαθορισμένο τρόπο χωρίς να λαμβάνουν υπ’ όψη τα χαρακτηριστικά κάθε περιοχής, που είναι ο θόρυβος ( ), η μέση τιμή φωτεινότητας της περιοχής και η ενέργεια στην περιοχή ( ). Εάν υποτεθεί ότι είναι γνωστός ο θόρυβος σε μια εικόνα, τότε ένα προσαρμοζόμενο φίλτρο το οποίο λειτουργεί επαναληπτικά σε περιοχές Sxy μπορεί να έχει την μορφή:

(3.7)

29

S

S

n yxIyxIyxI

),(),(),('

2

2

2S

2n

Προσαρμοζόμενo φίλτρο τοπικού θορύβου(2)

• Όπου I’(x,y) είναι η τιμή του κεντρικού pixel της μάσκας ή της περιοχής Sxy μετά την εφαρμογή της σχέσης (3.7), I(x,y) είναι η αρχική τιμή του pixel, o θόρυβος στην εικόνα, η ενέργεια στην περιοχή και μS η μέση τιμή της περιοχής.

• Εάν δεν υπάρχει θόρυβος, τότε I’(x,y)=I(x,y).

• Εάν ο θόρυβος είναι μικρός σε σχέση με την ενέργεια της περιοχής (δηλαδή << ), τότε I’(x,y)=I(x,y).

• Εάν ο θόρυβος είναι ίσος με την ενέργεια της περιοχής, τότε I’(x,y)= μS , το οποίο σημαίνει την εφαρμογή φίλτρου αριθμητικής μέσης τιμής.

• Εάν ο θόρυβος είναι πολύ μεγαλύτερος (μπορεί να τεθούν τιμές κατωφλίου για τις ανισότητες), τότε για την αποφυγή αρνητικών τιμών θεωρούμε την προηγούμενη περίπτωση της ισότητας, οπότε εφαρμόζεται πάλι φίλτρο αριθμητικής μέσης τιμής. Εναλλακτικά μπορούμε να υπολογίσουμε τις αρνητικές τιμές που προκύπτουν από τη σχέση (3.7) και στο τέλος να επαναφέρουμε την κλίμακα [0 255] (rescaling).

30

2n

2S

2n

2S

Adaptive median filter

Προσαρμοζόμενο φίλτρο μεσαίας τιμής (1)

31

Προσαρμοζόμενο φίλτρο μεσαίας τιμής (2)

32

Απαλοιφή θορύβου

Προσαρμοζόμενο φίλτρο μεσαίας τιμής (3)

33

Βιβλιογραφία

1. N. Η. Παπαμάρκος, “Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας”, Δημοκρίτειο, Ξάνθη 2001.

2. Σ. Δ. Κόλλιας, “Επεξεργασία, Ανάλυση και Τεχνολογία Εικόνων και Βίντεο”, Σημειώσεις ΕΜΠ, Αθήνα 2001.

3. I. Pitas, “Digital Image Processing Algorithms”, Prentice Hall, 1992.

4. R. C. Gonzalez, R. E. Woods, “Digital Image Processing”, Prentice Hall, 2nd Edition 2002.

5. R. C. Gonzalez, R. E. Woods, S. L. Eddins, “Digital Image Processing Using MATLAB”, Prentice Hall.

6. A. K. Jain, “Fundamentals of Digital Image Processing”, Prentice Hall, 1989.

34

Τέλος Ενότητας