Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


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

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

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

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

4 Σκοποί ενότητας Η ενότητα αυτή εξετάζει τους μετασχηματισμούς των εικόνων Fourier, DCT και κυματιδίων και τις βασικές τους εφαρμογές. 4

5 Περιεχόμενα ενότητας  Μετασχηματισμός Fourier  Εφαρμογές Μετασχηματισμού Fourier  Μετασχηματισμός DCT  Εφαρμογή του DCT στο πρότυπο συμπίεσης JPEG  Μετασχηματισμός κυματιδίων  Εφαρμογή του DWT στη συμπίεση εικόνων  Εφαρμογή του DWT στην απαλοιφή θορύβου 5

6 Μετασχηματισμός Fourier (1) όπου k=0,1,2,…,M-1 και l=0,1,2,…,N-1 για μια εικόνα f(m,n) διαστάσεων Μ×Ν. Ο διακριτός μετασχηματισμός Fourier είναι ο διακριτός τρόπος απεικόνισης μιας εικόνας στο πεδίο των συχνοτήτων. Οι τιμές F(k,l) είναι οι συντελεστές του μετασχηματισμού DFT, ενώ οι εκθετικοί όροι είναι πίνακες μετασχηματισμού. Η συνεχής συνιστώσα είναι η F(0,0), όμως στο Matlab είναι η F(1,1). Η συνάρτηση για DFT μιας εικόνας είναι η fft2, ενώ για IDFT είναι η ifft2. 6

7 Μετασχηματισμός Fourier (2) Παράδειγμα 5.1 Με το ακόλουθο πρόγραμμα δημιουργείται μια εικόνα, η οποία είναι ένας τετραγωνικός παλμός στις δύο διαστάσεις. Η απεικόνιση του μέτρου του μετασχηματισμού DFT και του λογαρίθμου του μέτρου δίνουν διαφορετικές εκδοχές: 7

8 Μετασχηματισμός Fourier (3) Οι οριζόντιες συχνότητες έχουν λοβούς μεγαλύτερου πλάτους από τις κάθετες συχνότητες γιατί οι τετραγωνικοί παλμοί που ορίζονται από τα οριζόντια επίπεδα έχουν μικρότερο εύρος. Οι παλμοί μικρού εύρους έχουν περισσότερες υψηλές συχνότητες από τους παλμούς με μεγαλύτερο εύρος. Παρακάτω δίνεται το πρόγραμμα με το οποίο γίνεται η απεικόνιση του πεδίου μετασχηματισμού. Εάν η αρχική εικόνα συμπληρωθεί με μηδενικά (zero padding) και η DC συνιστώσα ολισθήσει στο κέντρο του μετασχηματισμού, τότε η απεικόνιση πλησιάζει το συνεχή μετασχηματισμό. >> F=fft2(x,256,256); >> F2=fftshift(F); >> imshow(log(abs(F2)),[-1 5],’notruesize’); >> colormap(jet); >> colorbar; 8

9 Εφαρμογές μετασχηματισμού Fourier (1) Απόκριση συχνότητας γραμμικών φίλτρων Η απεικόνιση στο πεδίο συχνοτήτων, δηλαδή ο μετασχηματισμός Fourier, της κρουστικής απόκρισης ενός γραμμικού φίλτρου καλείται απόκριση συχνότητας. Στο Matlab, η συνάρτηση freqz2 υπολογίζει και απεικονίζει την απόκριση συχνότητας ενός φίλτρου. Στο παράδειγμα δημιουργείται ένα δισδιάστατο φίλτρο FIR 16×16 (φίλτρο h), με επιθυμητή απόκριση H d. Το φίλτρο δημιουργείται με τη συνάρτηση fwind1 χρησιμοποιώντας και στις δύο διαστάσεις το 1-D παράθυρο τύπου Bartlett. Στη συνέχεια υπολογίζεται και απεικονίζεται η απόκριση συχνότητάς του με τη συνάρτηση freqz2. >> Hd=zeros(16,16); >> Hd(5:12,5:12)=1; >> Hd(7:10,7:10)=0; >> h=fwind1(Hd,bartlett(16)); >> freqz2(h,[32,32]); >> axis([ ]); >> colormap(jet(64)); 9

10 Σχήμα 5.1 (α) Επιθυμητή απόκριση συχνότητας. (β) Πραγματική απόκριση συχνότητας. Εφαρμογές μετασχηματισμού Fourier (2) 10

11 Εφαρμογές μετασχηματισμού Fourier (3) Ταχεία εύρεση συνέλιξης Η συνέλιξη δύο πινάκων (συνήθως μεγάλων διαστάσεων) ευρίσκεται γρήγορα με το γινόμενο των DFT των δύο πινάκων. Το παράδειγμα δείχνει τον τρόπο χρήσης που δίνει το ίδιο αποτέλεσμα με τη συνάρτηση conv2. C= >> A=[1 2 3;4 5 6;7 8 9]; >> B=ones(3); >> A(8,8)=0 ;%zero pad A >> B(8,8)=0; %zero pad B >> C=ifft2(fft2(A).*fft2(B)); >> C=C(1:5,1:5); %non zero part >> C=real(C); %real part >> D=conv2(A,B); >> D=D(1:5,1:5); 11

12 Εφαρμογές μετασχηματισμού Fourier (4) Εντοπισμός χαρακτηριστικών εικόνας Η συσχέτιση (correlation) δύο συναρτήσεων f(x,y) και g(x,y) ορίζεται ως εξής: Δηλαδή το άθροισμα γινομένων με τη μια συνάρτηση μετατοπισμένη. Εάν θέσουμε x’=-x και y’=-y και με δεδομένο ότι: 12

13 Εφαρμογές μετασχηματισμού Fourier (5) προκύπτει: η οποία δίνει το f(-x,-y) x g(x,y). Αυτή η σχέση δηλώνει ότι η συσχέτιση των δύο συναρτήσεων είναι ισοδύναμη με τη συνέλιξη της μιας συνάρτησης με την άλλη αφού περιστραφεί κατά 180 μοίρες. Στο πεδίο συχνοτήτων: Διαφορετικά, η συσχέτιση δυο συναρτήσεων επιτυγχάνεται με τον αντίστροφο DFT του γινομένου του μετασχηματισμού της μιας συνάρτησης επί το συζυγές μέρος του μετασχηματισμού της άλλης συνάρτησης. Στο παράδειγμα, έχοντας την εικόνα του γράμματος a ζητείται να εντοπιστούν οι θέσεις του γράμματος αυτού σε μια άλλη εικόνα. Η εικόνα του γράμματος περιστρέφεται κατά και συνελίσσεται με τη βοήθεια του DFT με την άλλη εικόνα. Αυτό έχει σαν αποτέλεσμα να εντοπιστούν οι θέσεις του γράμματος σαν στίγματα με μεγαλύτερη φωτεινότητα, εάν τεθεί κάποιο κατώφλι φωτεινότητας 13

14 Σχήμα 5.2 Προσδιορισμός θέσης γράμματος μετά από συνέλιξη. Εφαρμογές μετασχηματισμού Fourier (6) 14

15 Μετασχηματισμός DCT - Discrete Cosine Transform (1) 15

16 Το Σχήμα 5.3 δείχνει τις 64 συναρτήσεις βάσης μιας εικόνας 8×8 pixels. Η επάνω αριστερή συνάρτηση βάσης είναι η DC συνιστώσα, ενώ οι συχνότητες αυξάνονται από αριστερά προς τα δεξιά και από επάνω προς τα κάτω. Σχήμα 5.3 Συναρτήσεις βάσης του DCT για εικόνα 8×8 pixels. Μετασχηματισμός DCT - Discrete Cosine Transform (2) 16

17 Χαρακτηριστικά DTC Μετασχηματισμός DCT - Discrete Cosine Transform (3) 17

18 Πίνακας C Μετασχηματισμός DCT - Discrete Cosine Transform (4) 18

19 H διαδικασία Εφαρμογή του DCT στο πρότυπο συμπίεσης JPEG (1) 19

20 Εφαρμογή του DCT στο πρότυπο συμπίεσης JPEG (2) A=imread(‘cameraman.tif’); A=im2double(A); %real numbers [h,w]=size(A); C=dctmtx(8); %DCT transform matrix B=blkproc(A,[8 8],’P1*x*P2’,C,C’); %DCT transformation mask=[ ; ; ; ; ; ; ; ]; %zeroing mask B2=blkproc(B,[8 8],’P1.*x’,mask); A2=blkproc(B2,[8 8],’P1*x*P2’,C’,C); %inverse DCT imshow(A,[]); figure; imshow(A2,[]); % PSNR estimation im_dif=(A-A2).^2; mse=sum(sum(im_dif))/(h*w); %mse estimation psnr=10*log10(255*255/mse); %display PSNR and bit rate disp(psnr) 20

21 Σχήμα 5.4 (α) Αρχική εικόνα. (β) Ανασυσταθείσα εικόνα μετά από μετασχηματισμό DCT και μηδενισμό του 85% των συντελεστών μετασχηματισμού. Εφαρμογή του DCT στο πρότυπο συμπίεσης JPEG (3) 21

22 Εφαρμογή του DCT στο πρότυπο συμπίεσης JPEG (4) Το Σχήμα 5.4 απεικονίζει την αρχική και την ανασυσταθείσα εικόνα, η οποία έχει αντικειμενική ποιότητα PSNR=73.55 dB, αν και μόνο το 15% των συντελεστών μετασχηματισμού χρησιμοποιούνται. Η ποιότητα είναι υψηλή επειδή δεν έχει πραγματοποιηθεί κβάντιση των συντελεστών. Η ανασυσταθείσα εικόνα παρουσιάζει παραμορφώσεις στα όρια των αντικειμένων, επειδή έχουν μηδενιστεί οι περισσότεροι συντελεστές υψηλών συχνοτήτων. 22

23 Μετασχηματισμός κυματιδίων -Wavelte Transform (1) 23

24 Μετασχηματισμός κυματιδίων -Wavelte Transform (2) όπου αj,k και ψj,k είναι οι συντελεστές και οι συναρτήσεις ανάλυσης με wavelets, η δε σχέση (5.7) είναι ο αντίστροφος μετασχηματισμός. Συμπερασματικά η συνάρτηση f(t) μπορεί να αντιπροσωπευθεί από αυτούς τους συντελεστές, οι οποίοι προκύπτουν σαν εσωτερικό γινόμενο της συνάρτησης με την ορθογώνια βάση συναρτήσεων. Αντίστροφα η επιθυμητή συνάρτηση μπορεί να αναπαραχθεί από αυτούς τους συντελεστές και τις συναρτήσεις βάσης. Οι συναρτήσεις βάσης ή wavelets παράγονται από μία αρχική συνάρτηση, η οποία καλείται ‘mother wavelet’, εάν μεταβληθεί το εύρος της (scaling) και μετατοπισθεί στο χρόνο (translation). Οι συντελεστές ανάλυσης είναι δύο διαστάσεων, (j =μεταβολή διάρκειας ή scaling, k=χρονική μετατόπιση ή translation), γιατί προέρχονται από ανάλογες συναρτήσεις βάσης. Έτσι ο μετασχηματισμός αυτός έχει το πλεονέκτημα σε σύγκριση με τον Fourier, να αναλύει ένα σήμα τόσο στο χρόνο όσο και στη συχνότητα. Μία σημαντική δυνατότητα είναι να προσδιορίζει με ακρίβεια μία ασυνέχεια στο πεδίο του χρόνου. 24 για

25 Σχήμα 5.5 Τα διαστήματα ορισμού των συναρτήσεων βάσης “προσέγγισης” (scaling) και “λεπτομέρειας” (detail ή wavelet). Μετασχηματισμός κυματιδίων -Wavelte Transform (3) 25

26 Μετασχηματισμός κυματιδίων -Wavelte Transform (4) Στο Σχήμα 5.5 ένα σήμα μπορεί να αναλυθεί σε ένα διάστημα V j με την βοήθεια συναρτήσεων βάσης που μπορούν να ανήκουν σε αυτό σύμφωνα με την (5.7) ή μπορεί να αναλυθεί με μία συνάρτηση προσέγγισης (scaling function) η οποία ανήκει στο βασικό διάσημα V 0 ή σε άλλο και με μία συνάρτηση λεπτομέρειας (wavelet function) η οποία ανήκει στη διαφορά των διαστημάτων. Το Σχήμα 5.6 δίνει ένα χαρακτηριστικό αριθμητικό παράδειγμα αυτής της προσέγγισης, στο οποίο φαίνεται πως ένα σήμα [ ] μπορεί να μετασχηματισθεί σε μία ομάδα συντελεστών [6 2 1 –1], η οποία αποτελείται από μία προσέγγιση (χαμηλή συχνότητα) και τις λεπτομέρειες (υψηλή συχνότητα). Το αρχικό σήμα μπορεί να ανακτηθεί από αυτούς τους συντελεστές στην επιθυμητή ανάλυση, με το πλεονέκτημα όμως ότι τα μεγέθη των συντελεστών είναι μικρότερα του αρχικού σήματος (κυρίως των συντελεστών λεπτομέρειας) και επομένως η μετάδοση μπορεί να γίνει με λιγότερα bits. Ακόμα η παράλειψη κάποιου συντελεστή λεπτομέρειας δεν δημιουργεί μεγάλο σφάλμα. 26

27 Σχήμα 5.6 Αριθμητικό παράδειγμα μετασχηματισμού ενός διανύσματος. Μετασχηματισμός κυματιδίων -Wavelte Transform (5) 27

28 Έτσι ένα σήμα μπορεί να αναλυθεί σε ένα διάστημα με την σχέση: (5.8) Μετασχηματισμός κυματιδίων -Wavelte Transform (6) 28

29 Μετασχηματισμός κυματιδίων -Wavelte Transform (7) 29

30 Μετασχηματισμός κυματιδίων -Wavelte Transform (8) Ο διακριτός μετασχηματισμός κυματιδίων χρησιμοποιεί δυαδικές τιμές για το εύρος και τη χρονική μετατόπιση, δηλαδή j=2 L και k=M2 L, όπου L είναι το επίπεδο μετασχηματισμού. Το Σχήμα 5.7 δείχνει την πρωταρχική συνάτηση βάσης και τέσσερα wavelets, τα οποία παράγονται με μεταβολή των παραμέτρων εύρους και μετατόπισης. Πρακτικά, όπως φαίνεται στο Σχήμα 5.8, επιλέγεται ένα wavelet και υπολογίζεται ο συντελεστής ο οποίος μαζί με αυτό δείχνει πόσο κοντά είναι στο σήμα. Όσο μεγαλύτερο μέγεθος έχει ο συντελεστής, τόσο πιο πιστή είναι η ανάλυση του σήματος. Το ίδιο επαναλαμβάνεται με χρονική ολίσθηση του wavlet μέχρι την κάλυψη όλου του σήματος. Τέλος το wavelet μεταβάλλεται στο χρόνο (scaled), έτσι ώστε να δώσει διαφορετική ανάλυση (resolution) και η διαδικασία επαναλαμβάνεται. 30

31 Σχήμα 5.7 Μετασχηματισμός κυματιδίων -Wavelte Transform (9) 31

32 Σχήμα 5.8 Διαδικασία ανάλυσης σήματος με μετασχηματισμό wavelet. Μετασχηματισμός κυματιδίων -Wavelte Transform (10) 32

33 Μετασχηματισμός κυματιδίων -Wavelte Transform (11) Μία άλλη θεώρηση της παραπάνω ανάλυσης είναι η θεωρία της κωδικοποίησης ζωνών (subband coding), σύμφωνα με την οποία το σήμα περνά μέσα από διαδοχικά ζευγάρια φίλτρων (φίλτρα ανάλυσης), τα οποία παράγουν τους συντελεστές ανάλυσης. Αυτοί με τη σειρά τους στο δέκτη μπορούν να αναπαράγουν το αρχικό σήμα εάν περάσουν από διαδοχικά ζευγάρια φίλτρων (φίλτρα σύνθεσης), τα οποία πρέπει να έχουν ειδική σχέση με τα φίλτρα ανάλυσης έτσι ώστε το αρχικό σήμα να αναπαράγεται χωρίς απώλεια των χαρακτηριστικών του. 33

34 Μετασχηματισμός κυματιδίων -Wavelte Transform (12) Το σύνολο αυτών των φίλτρων λέγεται τέλειο σύστημα φίλτρων ανασύνθεσης ή PRB (Perfect Reconstruction Bank) και βασική τους ιδιότητα είναι ότι είναι μεταξύ τους ορθογώνια. Η ορθογώνια συνθήκη, η οποία τέθηκε και στην προηγούμενη ανάλυση, πρέπει να διέπει το μετασχηματισμό έτσι ώστε η ενέργεια του αρχικού σήματος να είναι ίδια με την ενέργεια των παραγομένων συντελεστών (Θεώρημα Parseval). Το Σχήμα 5.9(α) δείχνει τη μέθοδο ανάλυσης ενός σήματος με τη θεωρία των ζωνών. Τα φίλτρα χαμηλής συχνότητας αντιπροσωπεύουν την ‘προσέγγιση ή approximation’ και τα φίλτρα υψηλής συχνότητας την ‘λεπτομέρεια ή detail’ της προηγούμενης ανάλυσης. Η ανάλυση μόνο της χαμηλής συχνότητας, Σχήμα 5.9(β), καλείται ανάλυση wavelet ή wavelet decomposition, ενώ η ανάλυση και των δύο περιοχών συχνοτήτων, Σχήμα 5.9(γ), καλείται ανάλυση πακέτου με wavelet ή wavelet packet decomposition. 34

35 Μετασχηματισμός κυματιδίων -Wavelte Transform (13) Οι δειγματολήπτες χρησιμοποιούνται έτσι ώστε οι παραγόμενοι συντελεστές μετά από τα φίλτρα να είναι ίδιου πλήθους με την ανάλυση του σήματος εισόδου. Έτσι ένα σήμα εισόδου S, μπορεί να αναλυθεί σαν: S=A3+D3+D2+D1 ή S=A2+D2+D1 ή S=A1+D1. Όμοια μπορεί να αναλυθεί σαν: S=A1+AAD3+DAD3+ADD3+DDD3 δίνοντας την επιθυμητή προσέγγιση και τις λεπτομέρειες. Το δέντρο που σχηματίζεται καλείται ‘wavelet tree’ και η δομή του μεταφέρεται μαζί με τους συντελεστές στο δέκτη και αποκωδικοποιητή για την ανασύσταση του αρχικού σήματος. Το Σχήμα 5.9(γ) είναι ο μετασχηματισμός ενός μονοδιάστατου σήματος σε τρία επίπεδα. 35

36 Σχήμα 5.9 (α) Δυαδικός μετασχηματισμός με τη χρήση φίλτρων Χ.Σ και Υ.Σ. (β) Wavelet decomposition. (γ) Wavelet packet decomposition. Μετασχηματισμός κυματιδίων -Wavelte Transform (14) 36

37 Μετασχηματισμός κυματιδίων -Wavelte Transform (15) Η ανάλυση ενός δισδιάστατου σήματος, όπως η εικόνα, περιλαμβάνει την ανάλυση πρώτα των σειρών και μετά των στηλών της και επομένως κάθε επίπεδο μετασχηματισμού αποτελείται από ομάδα τεσσάρων φίλτρων. Το Σχήμα 5.10 δείχνει συμβολικά την ανάλυση ενός δισδιάστατου σήματος σε ένα ή δύο επίπεδα και το Σχήμα 5.11 την αναλυτική του μορφή, σύμφωνα με τη θεωρία των υποζωνών. Για λόγους απλότητας του σχήματος, οι υποδειγματολήπτες έχουν ενσωματωθεί στα φίλτρα. Οι παραγόμενοι συντελεστές ενός επιπέδου αντιπροσωπεύουν την ‘προσέγγιση’ και τις ‘λεπτομέρειες’ (Οριζόντια-Κάθετη-Διαγώνια) και είναι: cA= Approximation coefficientcH=Horizontal detail cV=Vertical detailcD=Diagonal detail 37

38 Σχήμα 5.10 Συμβολική απεικόνιση ανάλυσης εικόνας σε ένα ή δύο επίπεδα με DWT. Η υποζώνη προσέγγισης αναλύεται κάθε φορά στις υποζώνες του επόμενου επιπέδου, οι οποίες έχουν υποδιπλάσια ανάλυση (spatial scalability) Μετασχηματισμός κυματιδίων -Wavelte Transform (16) 38

39 Σχήμα 5.11 Ανάλυση εικόνας σε δύο επίπεδα με DWT. Μετασχηματισμός κυματιδίων -Wavelte Transform (17) 39

40 Μετασχηματισμός κυματιδίων -Wavelte Transform (18) Σχήμα 5.12 (α) Αρχική εικόνα (Barbara). (β) Απεικόνιση των συντελεστών μετασχηματσιμού ενός επιπέδου. (γ) Μετασχηματισμός δευτέρου επιπέδου της ‘προσέγγισης’ του πρώτου. 40 Το Σχήμα 5.12 δείχνει το μετασχηματισμό μιας εικόνας μετά από ένα ή δύο επίπεδα. Είναι φανερό ότι οι συντελεστές προσέγγισης, οι οποίοι προέρχονται από τα φίλτρα χαμηλής συχνότητας (LowLow ή LL), δίνουν την πλησιέστερη εκδοχή της εικόνας ή πληροφορίες για περιοχές με ομαλή μεταβολή φωτεινότητας, ενώ οι συντελεστές λεπτομέρειας, οι οποίοι προέρχονται από τα φίλτρα υψηλής συχνότητας (LH, HL, HH), δίνουν πληροφορίες για τις ακμές της και για περιοχές όπου υπάρχει σημαντική μεταβολή φωτεινότητας.

41 Εφαρμογή του DWT στη συμπίεση εικόνων (1) Παράδειγμα 5.2 Η εικόνα “Lenna.bin”, η οποία είναι σε δυαδική μορφή με διαστάσεις 512×512, αναλύεται με DWT σε ένα επίπεδο. Στη συνέχεια απεικονίζονται η προσέγγιση και η λεπτομέρεια. Οι συντελεστές μετασχηματισμού κβαντίζονται με ένα ομοιόμορφο κβαντιστή βήματος qs=50 και με τη βοήθεια του αντίστροφου μετασχηματισμού πραγματοποιείται ανασύσταση της αρχικής εικόνας. Τέλος, υπολογίζεται το PSNR (ποιότητα ανασύνθεσης) και ο ρυθμός μετάδοσης. 41

42 Εφαρμογή του DWT στη συμπίεση εικόνων (2) Η εισαγωγή μιας δυαδικής εικόνας γίνεται με τη συνάρτηση readim.m. % input binary image function image=readim(name) if strcmp(name,’Lenna’) filename=’Lenna.bin’; end par=[512,512]; fid = fopen(filename,’r’); image = fread(fid,par); fclose(fid); Για την αποφυγή της παραμόρφωσης στα άκρα της εικόνας συνήθως χρησιμοποιείται ένα αμφιορθογώνιο (biorthgonal) φίλτρο (π.χ. Daubechies 7/9) με ταυτόχρονη συμμετρική επέκταση του σήματος εισόδου (symmetrical padding). Το φίλτρο πρέπει να εισαχθεί στο Matlab με μια ορισμένη διαδικασία (στο παράδειγμα χρησιμοποιείται το ορθογώνιο φίλτρο Daubechies db2), ενώ η συμμετρική επέκταση γίνεται με την εντολή dwtmode(‘sym’). 42

43 Εφαρμογή του DWT στη συμπίεση εικόνων (3) η κβάντιση με ομοιόμορφο κβαντιστή πραγματοποείται με τη συνάρτηση quant.m. % quantization function function y=quant(x,qs) y=round(x./qs).*qs; Η αντικειμενική ποιότητα της ανασυσταθείσας εικόνας μετράται με το λόγο PSNR (Peak Signal to Noise Ratio). Ο ρυθμός μετάδοσης μετράται με την εντροπία των συντελεστών μετασχηματσιμού, η οποία έίναι και το χαμηλότερο όριο που μπορεί να επιτευχθεί. 43

44 Εφαρμογή του DWT στη συμπίεση εικόνων (4) % One level DWT wtbxmngr(’V1’);% Matlab version>5.3 clear *; % input of a binary image im=readim(’Lenna’); im=im';%image rotation im=double(im);%real numbers [h,w]=size(im); % symmetrical padding dwtmode(‘sym’); % quantizer step size qs=50; % one level DWT with “db2” wavelet % approximation and detail coefficients (Horizontal-Vertical-Diagonal) [cA1,cH1,cV1,cD1]=dwt2(im,’db2’); % images fro the coefficients A1=upcoef2(’a’,cA1,’db2’); H1=upcoef2(’h’,cH1,’db2’); V1=upcoef2(’v’,cV1,’db2’); D1=upcoef2(’d’,cD1,’db2’); 44

45 Εφαρμογή του DWT στη συμπίεση εικόνων (5) % display subimages subplot(2,2,1);imshow(mat2gray(A1));title(’Approximation A1’); subplot(2,2,2);imshow(mat2gray(H1));title(’Horizontal Detail H1’); subplot(2,2,3);imshow(mat2gray(V1));title(’Vertical Detail V1’); subplot(2,2,4);imshow(mat2gray(D1));title(’Diagonal Detail D1’); % uniform quantization with step size of 50 qA1=quant(cA1,qs); qH1=quant(cH1,qs); qV1=quant(cV1,qs); qD1=quant(cD1,qs); % image reconstruction imr=idwt2(qA1,qH1,qV1,qD1,’db2’); % display initial and reconstructed images figure;imshow(mat2gray(im)); figure;imshow(mat2gray(imr)); % objective quality estimation % mse (mean square error im_dif=(im-imr).^2; mse= sum(sum(im_dif))/(h*w); psnr=10*log10((255*255)/mse); % bit-rate estimated as the entropy of the transform coefficients coef=[qA1(1:end),qH1(1:end),qV1(1:end),qD1(1:end)]; bt=entropy(coef); % display PSNR and bit-rate disp(’PSNR(dB)=’);disp(psnr); disp(’bit-rate(bpp)=’);disp(bt/(h*w)); % entropy estimation function bits=entropy(x) if isempty(x)==0 % only if x~=0 qn=max(abs(x)); if qn~=0 p=hist(x,-qn:qn); else p=hist(x); end N=sum(p); if ((N>0) & (min(p(:))>=0)) pnz=nonzeros(p); hent=log2(N)-sum(pnz.*log2(pnz))/N; else hent=0; end bits=hent*length(x); else bits=0; end 45

46 Εφαρμογή του DWT στη συμπίεση εικόνων (6) Η υποζώνη προσέγγισης είναι αυτή που περιέχει τη μέση τιμή της εικόνας και περιέχει τις χαμηλές συχνότητες ή τις περιοχές ομαλής φωτεινότητας (smooth areas). Οι υποζώνες των λεπτομερειών είναι αυτές που περιέχουν τις υψηλές συχνότητες ή τις περιοχές απότομης μεταβολής της φωτεινότητας (edges). Η ανάλυση της αρχικής εικόνας έχει γίνει μικρότερη στις υποζώνες (coarse resolution) λόγω της υποδειγματοληψίας που υφίσταται το σήμα μετά τα φίλτρα. Είναι φανερό από το παραπάνω σχήμα, ότι μεταξύ των υποζωνών υπάρχει χωρική συσχέτιση των συντελεστών δηλαδή οι ακμές της εικόνας περιγράφονται σε όλες τις υποζώνες. Αυτό σημαίνει ότι ένας σημαντικός συντελεστής σε μία υποζώνη αντιστοιχεί με μεγάλη πιθανότητα σε σημαντικό συντελεστή σε άλλη υποζώνη. Αυτή η παρατήρηση οδηγεί την ανάπτυξη αλγορίθμων συμπίεσης της εικόνας. 46

47 Εφαρμογή του DWT στη συμπίεση εικόνων (7) Η κβάντιση των συντελεστών που προκύπτουν από την ανάλυση DWT σε ένα επίπεδο είναι φυσικό να μηδενίσει πολλούς συντελεστές, ιδιαίτερα στις υποζώνες υψηλών συχνοτήτων όπου πολλοί συντελεστές έχουν μικρές τιμές. Η ανασύσταση της εικόνας και από τις τέσσερις υποζώνες δίνουν το παραπάνω σχήμα, όπου φαίνεται η αρχική εικόνα και η επανασυσταθείσα: imr=A1+H1+V1+D1 47

48 Εφαρμογή του DWT στη συμπίεση εικόνων (8) Εάν η προσέγγιση Α1 αναλυθεί στο επόμενο επίπεδο δηλ: Α1=Α12+Η12+V12+D12, η εικόνα θα αποτελείται από: imr=( Α12+Η12+V12+D12)+ H1+V1+D1 Η ποιότητα της εικόνας μετά την ανασύσταση είναι: PSNR=29.95 dB και ο ρυθμός δεδομένων για μία τέτοια ανάλυση και κωδικοποίηση είναι: 1.60 bpp. Αυτό συνεπάγεται ότι κάθε pixel μπορεί να μεταδοθεί με 1.6 bits αντί για 8 bits της αρχικής εικόνας, δηλαδή με μία συμπίεση 8:1.6=5 (συντελεστής συμπίεσης ή compression factor). Αυτό είναι και το όριο του ρυθμού δεδομένων για την δεδομένη τιμή του κβαντιστή. Στην παρούσα άσκηση χρησιμοποιείται ένας ομοιόμορφος κβαντιστής για όλες τις υποζώνες, από την τιμή του οποίου εξαρτάται ο τελικός ρυθμός δεδομένων. Είναι προφανές ότι όσο η τιμή του κβαντιστή γίνεται μικρότερη, τόσο η ποιότητα της εικόνας που λαμβάνει ο δέκτης γίνεται καλύτερη. 48

49 Εφαρμογή του DWT στη συμπίεση εικόνων (9) Παράδειγμα 5.3 Η ανάλυση μιας εικόνας σε πολλαπλά επίπεδα μπορεί να γίνει με τη συνάρτηση wavedec2. Είσοδοι στη συνάρτηση είναι η εικόνα, ο αριθμός των επιπέδων και ο τύπος των φίλτρων και προκύπτει ένας πίνακας c ο οποίος περιέχει τους συντελεστές κάθε επιπέδου και ένας πίνακας s ο οποίος περιέχει το μέγεθος των επί μέρους πινάκων των συντελεστών. Ο προσδιορισμός των συντελεστών σε κάθε επίπεδο γίνεται με τις συναρτήσεις appcoef2 και detcoef2, ενώ η ανακατασκευή της εικόνας μόνο από συγκεκριμένους συντελεστές γίνεται με την συνάρτηση wrcoef2. Η συνολική ανασύνθεση γίνεται με την waverec2. = Με την συνάρτηση ddencomp προσδιορίζεται η προκαθορισμένη τιμή κατωφλίου και ο τρόπος εφαρμογής αυτού στην εικόνα. Στο πρόγραμμα χρησιμοποιείται ως εξής: [thr,sorh,keepapp]=ddencmp(’cmp’,’wv’,im); 49

50 Εφαρμογή του DWT στη συμπίεση εικόνων (10) Είσοδος είναι η εικόνα im, ’cmp’ για συμπίεση και ’wv’ για ανάλυση DWT. Έξοδος είναι η τιμή κατωφλίου thr (threshold), ο τρόπος εφαρμογής του κατωφλίου sorh (soft or hard) και το keepapp δηλαδή εάν το κατώφλι θα εφαρμοστεί και στην υποζώνη προσέγγισης. Οι προκαθορισμένες τιμές είναι οι εξής: thr=median (abs(detail at level 1)), sorh=h δηλ. hard και keepapp=1 δηλ. το κατώφλι δεν εφαρμόζεται στην υποζώνη προσέγγισης. 50

51 Εφαρμογή του DWT στη συμπίεση εικόνων (11) Αφού εξασφαλιστούν οι προκαθορισμένες τιμές, χρησιμοποιείται η συνάρτηση: [imc,cc,ss,PERF0,PERF2]=wdencmp(’gbl’,c,s,’db2’,2,thr,sorh,keepapp); όπου σαν είσοδοι είναι οι προηγούμενες τιμές, ο αριθμός των επιπέδων ανάλυσης, ο τύπος των φίλτρων, οι πίνακες ανάλυσης c και s και η παράμετρος gbl (global) η οποία υποδεικνύει την εφαρμογή του ίδιου κατωφλίου σε όλες τις υποζώνες (είναι δυνατή η εφαρμογή διαφορετικών κατωφλίων σε κάθε υποζώνη). Έξοδοι είναι η ανασυσταθείσα συμπιεσμένη εικόνα, οι νέοι πίνακες ανάλυσης cc και ss και οι συντελεστές απόδοσης για την ανασύνθεση και τη συμπίεση. Ο συντελεστής PERF0 δείχνει το ποσοστό των συντελεστών που έχουν μηδενιστεί μετά την εφαρμογή του κατωφλίου και ο συντελεστής PERF2 δείχνει το ποσοστό της διατηρούμενης ενέργειας της συμπιεσμένης εικόνας. 51

52 Σχήμα 5.13 Εφαρμογή κατωφλίου soft ή hard σε ένα σήμα. (α) Αρχικό σήμα. (β) Σήμα με κατώφλι hard. (γ) Σήμα με κατώφλι soft. Το παραπάνω σχήμα δείχνει την προσέγγιση και τις λεπτομέρειες στα δύο επίπεδα. Η εφαρμογή της συνάρτησης ddencmp στην εικόνα im, δίνει: thr=2, που είναι ένα πολύ χαμηλό επίπεδο κατωφλίου. Η χρήση αυτού του κατωφλίου για συμπίεση δίνει: PERF0=44.22 % και PERF2=99.99 %. Αυτό σημαίνει ότι η συμπιεσμένη εικόνα είναι ίδια ακριβώς με την αρχική, αν και το 44 % των συντελεστών ανάλυσης έχουν μηδενιστεί. Αυτό δείχνει τον ρόλο που διαδραματίζει ο μετασχηματισμός DWT. Η οπτική ποιότητα της αρχικής και της συμπιεσθείσας εικόνας είναι ίδια. Εάν φυσικά αυξηθεί η τιμή κατωφλίου ο πρώτος συντελεστής θα αυξάνεται, ενώ ο δεύτερος θα μειώνεται ελαττώνοντας και την ποιότητα της εικόνας. Εφαρμογή του DWT στη συμπίεση εικόνων (12) 52

53 Εφαρμογή του DWT στη συμπίεση εικόνων (13) % Two level DWT wtbxmngr(’V1’);% Matlab version>5.3 clear *; % input of a binary image im=readim(’Lenna’); im=im';%image rotation im=double(im);%real numbers [h,w]=size(im); % symmetrical padding dwtmode(‘sym’); % two level decomposition [c,s]=wavedec2(im,2,’db2’); % second level coefficients cA2=appcoef2(c,s,’db2’); cH2=detcoef2(’h’,c,s,2); cV2=detcoef2(’v’,c,s,2); cD2=detcoef2(’d’,c,s,2); cH1=detcoef2(’h’,c,s,1); cV1=detcoef2(’v’,c,s,1); cD1=detcoef2(’d’,c,s,1); 53

54 Εφαρμογή του DWT στη συμπίεση εικόνων (14) % subimages from approximation and details A2=wrcoef2(’a’,c,s,’db2’); H1=wrcoef2(’h’,c,s,’db2’,1); V1=wrcoef2(’v’,c,s,’db2’,1); D1=wrcoef2(’d’,c,s,’db2’,1); H2=wrcoef2(’h’,c,s,’db2’,2); V2=wrcoef2(’v’,c,s,’db2’,2); D2=wrcoef2(’d’,c,s,’db2’,2); % Α1 reconstruction A1=idwt2(cA2,cH2,cV2,cD2,’db2’); % display subimages subplot(2,4,1);imshow(mat2gray(A1));title(’Approximation A1’); subplot(2,4,2);imshow(mat2gray(H1));title(’Horizontal Detail H1’); subplot(2,4,3);imshow(mat2gray(V1));title(’Vertical Detail V1’); subplot(2,4,4);imshow(mat2gray(D1));title(’Diagonal Detail D1’); subplot(2,4,5);imshow(mat2gray(A2));title(’Approximation A2’); subplot(2,4,6);imshow(mat2gray(H2));title(’Horizontal Detail H2’); subplot(2,4,7);imshow(mat2gray(V2));title(’Vertical Detail V2’); subplot(2,4,8);imshow(mat2gray(D2));title(’Diagonal Detail D2’); % ***image compression*** % Matlab quantization threshold [thr,sorh,keepapp]=ddencmp(’cmp’,’wv’,im); [imr,cc,ss,PERF0,PERF2]=wdencmp(’gbl’,c,s,’db2’,2,thr,sorh,keepapp); % display initial and reconstructed images figure;imshow(mat2gray(im)); figure;imshow(mat2gray(imr)); % performance coefficients disp(‘PERF0(%)=’);disp(PERF0); disp(‘PERF2(%)=’);disp(PERF2); 54

55 Εφαρμογή του DWT στη απαλοιφή θορύβου (1) Το σήμα το οποίο θα προκύψει εάν σε μία εικόνα f(i,j) επικαθήσει θόρυβος είναι: s(i,j)=f(i,j)+σ×e(i,j) (5.11) όπου e είναι λευκός θόρυβος Gaussian κατανομής, με μηδενική μέση τιμή και μοναδιαία διασπορά. Αντικειμενικός σκοπός είναι η απαλοιφή του θορύβου και η ανάδειξη της συνάρτησης f. Με τη βοήθεια των wavelets, αυτό μπορεί να γίνει με τρία βήματα: Το σήμα αναλύεται σε L αριθμό επιπέδων με DWT. Για κάθε επίπεδο από 1 έως L επιλέγεται ένα επίπεδο κατωφλίου και εφαρμόζεται soft μέθοδος στους συντελεστές λεπτομέρειας. Η εφαρμογή του κατωφλίου μπορεί να γίνει και ενιαία σε όλους τους συντελεστές. Η εξάλειψη κάποιων συντελεστών λεπτομέρειας θα ελαττώσει το θόρυβο αλλά και την ενέργεια του σήματος κατά ένα μικρό ποσοστό. Η ενέργεια του σήματος ευρίσκεται κυρίως στους συντελεστές προσέγγισης. Γίνεται ανασύνθεση του σήματος. 55

56 Εφαρμογή του DWT στη απαλοιφή θορύβου (2) Έτσι λοιπόν είναι σημαντικό να γίνει σωστή επιλογή της τιμής κατωφλίου και του τρόπου που αυτό θα εφαρμοστεί. Ο τρόπος εφαρμογής μπορεί να είναι soft ή hard, όπως αυτό φαίνεται στο Σχήμα Εάν το σήμα είναι x, το σήμα που προκύπτει μετά την εφαρμογή κατωφλίου είναι: Soft: xT=x εάν |x|>t και μηδέν εάν |x|<=t Hard: xT=sign(x)(|x|-t) εάν |x|>t και μηδέν εάν |x|<=t Με το κατώφλι τύπου soft μηδενίζονται τα στοιχεία του σήματος που οι απόλυτες τιμές τους ευρίσκονται κάτω από το κατώφλι και συρρικνώνονται τα στοιχεία με τιμές πάνω από το κατώφλι. Με το κατώφλι τύπου hard μηδενίζονται μόνο τα στοιχεία του σήματος που οι απόλυτες τιμές τους ευρίσκονται κάτω από το κατώφλι. Στο Matlab υπάρχουν διάφοροι τρόποι υπολογισμού της τιμής κατωφλίου. Η μέθοδος soft χρησιμοποιείται συνήθως για την απομάκρυνση του θορύβου, ενώ η μέθοδος hard για την συμπίεση. 56

57 Εφαρμογή του DWT στη απαλοιφή θορύβου (3) Παράδειγμα 5.4 Η αφαίρεση του θορύβου από μια εικόνα μπορεί να γίνει με τη βοήθεια συναρτήσεων του Matlab, ως εξής: % input an image load sinsin; % noise addition init= ;randn(‘seed’,init); im=X +18*randn(size(Χ)); % threshold estimation for denoising [thr,sorh,keepapp]=ddencmp(‘den’,’wv’,im); % noise removal by applying threshold to subands levels=2; imd=wdencmp(‘gbl’,im,’db2’,levels,thr,sorh,kee papp); % display initial and denoised images imshow(mat2gray(X)); figure;imshow(mat2gray(im)); figure;imshow(mat2gray(imd)); 57

58 Εφαρμογή του DWT στη απαλοιφή θορύβου (4) Σε αυτό το παράδειγμα χρησιμοποιείται η έτοιμη συνάρτηση του Matlab: [thr,sorh,keepapp]=ddencmp(‘den’,’wv’,im) η οποία δίνει την τιμή κατωφλίου (thr) για τη δεδομένη εικόνα εάν χρησιμοποιηθεί ανάλυση με wavelets, τον τρόπο χρήσης του κατωφλίου (hard ή soft) (sorh) και εάν θα εφαρμοστεί και στους συντελεστές προσέγγισης (keepapp). Για τη δεδομένη εικόνα προκύπτει: thr= , sorh=s και keepapp=1 (να μην εφαρμοστεί το κατώφλι στους συντελεστές προσέγγισης) 58

59 Εφαρμογή του DWT στη απαλοιφή θορύβου (5) Η συνάρτηση: imd=wdencmp(‘gbl’,im,’db2’,levels,thr,sorh,keepapp) πραγματοποιεί την απομάκρυνση του θορύβου από τους συντελεστές λεπτομέρειας και ανασυνθέτει την εικόνα. Το επιλεγόμενο κατώφλι εφαρμόζεται, με την παράμετρο gbl, ενιαία σε όλους τους συντελεστές όλων των επιπέδων. Υπάρχει δυνατότητα εφαρμογής διαφορετικού κατωφλίου σε κάθε επίπεδο. Το αποτέλεσμα φαίνεται στο Σχήμα 5.14, όπου η αρχική εικόνα συγκρίνεται με αυτή που έχει το θόρυβο και με την προκύπτουσα μετά την απομάκρυνση του θορύβου. 59

60 Σχήμα 5.14 (α) Αρχική εικόνα. (β) Εικόνα με θόρυβο. (γ) Εικόνα μετά τη μείωση του θορύβου. Εφαρμογή του DWT στη απαλοιφή θορύβου (6) 60

61 Εφαρμογή του DWT στη απαλοιφή θορύβου (7) Παράδειγμα 5.5 Το παράδειγμα αυτό είναι πτυχιακή εργασία που έχει δημοσιευτεί στην Επιστημονική Επετηρίδα ΕφαρμοσμένηςΈρευνας του Τ.Ε.Ι. Πειραιά (τεύχος 1, 2004) 61

62 Εφαρμογή του DWT στη απαλοιφή θορύβου (8) Η προτεινόμενη μέθοδος βασίζεται στην ανάλυση μιας εικόνας με το διακριτό μετασχηματισμό κυματιδίων (DWT) και την εφαρμογή ενός κατωφλίου για την απόρριψη μέρους των συντελεστών του μετασχηματισμού. Η εκτίμηση του κατωφλίου πραγματοποιείται θεωρώντας ότι οι συντελεστές έχουν Gaussian κατανομή και με τη βοήθεια ενός εκτιμητή, ο οποίος εφαρμόζεται είτε σε όλους τους συντελεστές ή στους συντελεστές κάθε υποζώνης για κάθε επίπεδο ανάλυσης του μετασχηματισμού. Ακόμα στην παρούσα εργασία γίνεται εκτίμηση της απόδοσης των κριτηρίων, τα οποία χρησιμοποιούνται και στο Matlab, για τον προσδιορισμού του επιπέδου κατωφλίου. Χρησιμοποιείται ο εκτιμητής: ο οποίος προκύπτει από τη μεσαία τιμή των συντελεστών μετασχηματισμού της διαγώνιας υποζώνης του πρώτου επιπέδου ανάλυσης του μετασχηματισμού. To επίπεδο κατωφλίου προσδιορίζεται σύμφωνα με κάποιο κριτήριο και χρησιμοποιείται για όλους τους συντελεστές μετασχηματισμού (global method ή unique median estimator). Τα χρησιμοποιούμενα κριτήρια υπολογισμού του επιπέδου κατωφλίου είναι: “rigrsure”, “heursure”, “sqtwolog”, “minimaxi”. Για παράδειγμα, το επίπεδο κατωφλίου για το κριτήριο “sqtwolog” δίνεται από τη σχέση: sqrt(2*log(length(s))). 62

63 Εφαρμογή του DWT στη απαλοιφή θορύβου (9) Ο ίδιος εκτιμητής χρησιμοποιείται για τον υπολογισμό της τυπικής απόκλισης και στη συνέχεια του επιπέδου κατωφλίου, σύμφωνα με τα παραπάνω κριτήρια, για κάθε επίπεδο μετασχηματισμού. Η μέθοδος αυτή καλείται υπολογισμός κατωφλίου για κάθε επίπεδο (level median estimator). Ο ίδιος εκτιμητής χρησιμοποιείται για τον υπολογισμό της τυπικής απόκλισης και στη συνέχεια του επιπέδου κατωφλίου, σύμφωνα με τα παραπάνω κριτήρια, για κάθε υποζώνη λεπτομέρειας χωριστά. Η μέθοδος αυτή καλείται υπολογισμός κατωφλίου για κάθε υποζώνη λεπτομέρειας (detail median estimator). Τα αποτελέσματα απεικονίζονται στο Σχήμα Το Σχήμα 5.16 δείχνει τα οπτικά αποτελέσματα των διαφόρων τεχνικών απαλοιφής του θορύβου. 63

64 Σχήμα 5.15 Συγκριτικά αποτελέσματα μεταξύ των διαφόρων τεχνικών απαλοιφής θορύβου. Εφαρμογή του DWT στη απαλοιφή θορύβου (10) 64

65 Σχήμα 5.16 Συγκριτικά αποτελέσματα μεταξύ των διαφόρων τεχνικών απαλοιφής θορύβου. (α) Αρχική εικόνα. (β) Εικόνα με θόρυβο. (γ) Μέθοδος Matlab. (δ) Μέθοδος unique median etsimator. (ε) Μέθοδος level median estimator. (στ) Μέθοδος detail median estimator. Εφαρμογή του DWT στη απαλοιφή θορύβου (11) 65

66 Εφαρμογή του DWT στη απαλοιφή θορύβου (12) Παράδειγμα 5.6 Το παράδειγμα αυτό είναι πτυχιακή εργασία που έχει παρουσιαστεί στο 2 0 Διεθνές Συνέδριο Τεχνολογίας & Πληροφορικής (Σπέτσες Ιούνιος 2005) Οι αλγόριθμοι απαλοιφής θορύβου οι οποίοι χρησιμοποιούν κάποιο κατώφλι για το μηδενισμό κάποιων συντελεστών μετασχηματσιμού δεν παρουσιάζουν χωρική προσαρμοστικότητα (το ίδιο κατώφλι σε οποιαδήποτε περιοχή) και γι’ αυτό το λόγο η απόδοσή τους σε πραγματικές εικόνες δεν είναι αποδοτική. Μια νέα γενιά αλγορίθμων βασίζεται στο γεγονός ότι η κατανομή των συντελεστών μετασχηματισμού στις υποζώνες είναι περίπου Gaussian. Έτσι οι απόθορυβοποιημένοι συντελεστές υπολογίζονται, μέσω ενός εκτιμητή MMSE (Minimum Mean Square Error), από τους συντελεστές με θόρυβο και τη διασπορά του σήματος και του θορύβου. Η διασπορά του σήματος υπολογίζεται ανά μικρές περιοχές, όπου αυτή παραμένει σταθερή, με έναν εκτιμητή ML (Maximum Likelihood). Οι αλγόριθμοι αυτοί παρουσιάζουν ικανοποιητικά αποτελέσματα σε ομοιογενείς περιοχές, αλλά στις ακμές των αντικειμένων παρουσιάζουν χειρότερη απόδοση καθώς σε εκείνες τις περιοχές η διασπορά δεν είναι σταθερή. 66

67 Εφαρμογή του DWT στη απαλοιφή θορύβου (13) Ο προτεινόμενος αλγόριθμος διαιρεί τις υποζώνες μετασχηματισμού σε μπλοκ μεταβλητού μεγέθους χρησιμοποιώντας την ανάλυση τετραδικών δέντρων (Quad- Tree-Decomposition ή QTD). Το κριτήριο διαίρεσης ενός μπλοκ σε τέσσερα μικρότερα μπλοκ είναι η σύγκριση της διασποράς της περιοχής με μια τιμή κατωφλίου. Εάν η διασπορά είναι μεγαλύτερη της τιμής κατωφλίου τότε το μπλοκ διαιρείται σε τέσσερα μικρότερα μπλοκ. Η διαδικασία επαναλαμβάνεται μέχρι ένα επιθυμητό μέγεθος μπλοκ. Για κάθε δημιουργούμενο μπλοκ υπολογίζεται η διασπορά του σήματος, ενώ η διασπορά του θορύβου υπολογίζεται από τον πιο πάνω αναφερθέντα εκτιμητή. Το Σχήμα 5.17 δείχνει το μπλοκ διάγραμμα εφαρμογής του προτεινόμενου αλγορίθμου. Εάν X(k) είναι οι “καθαροί” συντελεστές και Y(k) είναι οι συντελεστές με θόρυβο, αποδεικνύεται ότι: 67

68 Εφαρμογή του DWT στη απαλοιφή θορύβου (14) Όπου είναι η διασπορά του σήματος εισόδου, η οποία είναι άγνωστη. Μια εκτίμησή της πραγματοποιείται με τον εκτιμητή ML για μικρές περιοχές όπου η διασπορά θεωρείται σταθερή. Το Σχήμα 5.18 δείχνει την υλοποίηση της διαίρεσης των υποζωνών σε μπλοκ μεταβλητού μεγέθους, ενώ το Σχήμα 5.19 δείχνει την απόδοση του προτεινόμενου αλγορίθμου σε σύγκριση με τον αλγόριθμο LAWML, ο οποίος εφαρμόζει την ίδια τεχνική σε μπλοκ σταθερού μεγέθους. 68

69 Σχήμα 5.17 Μπλοκ διάγραμμα στατιστικής εκτίμησης των συντελεστών χωρίς θόρυβο. Εφαρμογή του DWT στη απαλοιφή θορύβου (15) 69

70 Εφαρμογή του DWT στη απαλοιφή θορύβου (16) Σχήμα 5.18 Διαίρεση των υποζωνών σε μπλοκ μεταβλητού μεγέθους χρησιμοποιώντας σαν κριτήριο διαίρεσης τη σύγκριση της διασποράς με μια τιμή κατωφλίου. Σχήμα 5.19 (α) Αλγόριθμος LAWML. (β) Προτεινόμενος αλγόριθμος. 70

71 Βιβλιογραφία 1.N. Η. Παπαμάρκος, “Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας”, Δημοκρίτειο, Ξάνθη Σ. Δ. Κόλλιας, “Επεξεργασία, Ανάλυση και Τεχνολογία Εικόνων και Βίντεο”, Σημειώσεις ΕΜΠ, Αθήνα I. Pitas, “Digital Image Processing Algorithms”, Prentice Hall, R. C. Gonzalez, R. E. Woods, “Digital Image Processing”, Prentice Hall, 2 nd Edition 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,

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


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google