Βασικές αρχές παρεμβολής σημάτων και εικόνων Κ. Δελήμπασης ΠΜΣ : Υπολογιστική Ιατρική και Βιολογία Μάθημα: Ειδικά θέματα Αριθμητικής ανάλυσης και εφαρμοσμένων μαθηματικών
Παρεμβολή (interpolation) Τα διακριτά σήματα προκύπτουν από δειγματοληψία στο χρόνο (σήμα D)ή στο χώρο (εικόνα 2 ή περισσοτέρων διαστάσεων) Συχνά χρειάζεται η τιμή του σήματος σε μία χρονική στιγμή μεταξύ δύο δειγμάτων Αυτό το πρόβλημα το αντιμετωπίζει η παρεμβολή 2
Παρεμβολή (interpolation) Τα διακριτά σήματα προκύπτουν από δειγματοληψία στο χρόνο (σήμα D)ή στο χώρο (εικόνα 2 ή περισσοτέρων διαστάσεων) Συχνά χρειάζεται η τιμή του σήματος σε μία χρονική στιγμή μεταξύ δύο δειγμάτων Αυτό το πρόβλημα το αντιμετωπίζει η παρεμβολή 3
x((n-)t 0 ) x(nt 0 ) t 0 x((n+)t 0 ) x((n+2)t 0 ) Τα δείγματα ενός διακριτού σήματος και η ζητούμενη τιμή του σήματος σε μία ενδιάμεση θέση. 4
Παρεμβολή (interpolation) Ορισμός της παρεμβολής: Δεδομένης μίας σειράς μετρήσεων μίας ποσότητας για συγκεκριμένες τιμές της ανεξάρτησης μεταβλητής, ζητείται βρεθεί μία συνάρτηση, η οποία να έχει τιμή ίση με τις μετρήσεις στις θέσεις της ανεξάρτητης μεταβλητής. Η συνάρτηση μπορεί να χρησιμοποιηθεί για τον υπολογισμό της ποσότητας αυτής σε άλλες θέσεις στις οποίες δεν υπάρχει μέτρηση 5
Εφαρμογές Παρεμβολή διακριτών σημάτων Παρεμβολή σε περισσότερες διαστάσεις: 2D εικόνες (απαιτείται σε οποιαδήποτε περιστροφή / αλλαγή κλίμακας κλπ). D video frame(προσθήκη frame) 3D volumes(απαιτείται σε οποιαδήποτε περιστροφή / αλλαγή κλίμακας κλπ) 6
Τα απλούστερα είδη παρεμβολής Παρεμβολή κοντινότερου γείτονα Γραμμική παρεμβολή Παρεμβολή σε περισσότερες διαστάσεις: 2D εικόνες D video frame 3D volumes 7
x((n-)t 0 ) x(nt 0 ) t 0 x((n+)t 0 ) x((n+2)t 0 ) Παρεμβολή του σήματος στο t=t 0 με χρήση κοντινότερου γείτονα 8
x((n-)t 0 ) x(nt 0 ) t 0 x((n+)t 0 ) x((n+2)t 0 ) Γραμμική παρεμβολή του σήματος στο t=t 0 9
x((n-)t 0 ) x(nt 0 ) t 0 x((n+)t 0 ) x((n+2)t 0 ) Παρεμβολή του σήματος στο t=t 0 με κυβικό πολυώνυμο 0
Ιδανική παρεμβολή The ideal interpolator Δεδομένου ενός διακριτού σήματος, συχνά απαιτείται η διαδικασία ανακατασκευής του αναλογικού σήματος Digitalto Aanalog Cconversion DAC, δηλ η εύρεση της τιμής του σήματος σε οποιαδήποτε χρονική στιγμή t. Έστω x(n)δειγματοληπτημένο σήμα από το οποίο θέλουμε να ανακατασκευάσουμε το αναλογικό x(t). Τότε: ( t nt ) π s sin T s ( t nts) x( t) = x( n ) = x( n) sinc π n ( t nts) T = n= s T s
H προηγούμενη σχέση δε μπορεί να υλοποιηθεί υπολογιστικά διότι: Ο πυρήνας (kernel)sinc(t)εκτείνεται από t - έως t + (μη αιτιατός πυρήνας) Παρ ολα αυτά τη μελετάμε για λόγους πληρότητας Ακολουθεί παράδειγμα εφαρμογής της παρεμβολής με 2
Sampled signal x(n) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0. 0 0 2 3 4 5 6 7 8 9 0 Samples (n) ειγµατοληπτηµένο σήµα Analog reconstructed signal 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0. 0 0 2 3 4 5 6 7 8 9 0 Time (Continuous) t Συνεχές σήµα Παράδειγµα ανακατασκευής DAC µίας δειγµατοληπτηµένης γκαουσιανής 3
0.8 sinc sampled signal 0.6 Signal Value 0.4 0.2 0-0.2 5.45-0.4 0 2 3 4 5 6 7 8 9 0 Time t Επεξήγηση του τύπου ανακατασκέυής DAC Μπλε καµπύλη: ο µετατωπισµένος πυρήνας sinc(t 0 ) 4
Παρεμβολή και το κριτήριο Nyquist Η παρεμβολή των τιμών ενός σήματος μπορεί να γίνει ιδανικά (με σφάλμα ίσο με 0) όταν έχει ικανοποιηθεί το κριτήριο του Nyquist: η συχνότητα δειγματοληψίας είναι μεγάλύτερη από τη διπλάσια συχνότητα που περιέχει το σήμα Ακολουθεί παράδειγμα ανακατασκευής αναλογικού σήματος με: f s : συχνότητα δειγματοληψίας f a : μεγιστη συχνότητα αναλογικού σήματος, T s : περίοδος δειγματοληψίας T a ελάχιστη περίοδος αναλογικού σήματος 5
Παραδείγματα DAC.5 Analog sampled DAC.5 0.5 0.5 0 0-0.5-0.5 - - -.5 0 2 3 4 5 6 DAC fs=fa/2 Δε πληρείται το κριτήριο Nyquist -.5 0 2 3 4 5 6 DAC Ts=9*Ta/40 Η κόκκινη καμπύλη είναι λανθασμένη ανακατασκευή 6
Παραδείγματα DAC.5.5 Analog sampled DAC Analog Sampled DAC 0.5 0.5 0 0-0.5-0.5 - - -.5 0 2 3 4 5 6 -.5 0 2 3 4 5 6 DAC f s =f a /4, T s =4*T a DAC f s =4*f a, T s =T a /4 Ικανοποιείται το κριτήριο Nyquist Η κόκκινη καμπύλη αποτελεί ορθή ανακατασκευή 7
Η παρεμβολή σαν συνέλιξη με πυρήνα Εστω διακριτό σήμα x(n)και πυρήνας h(n). Η τιμή στη θέση t δίνεται: N ( ) x( k) h( t k) x t = k= 0 Υπάρχει πλήθος πυρήνων h(t) που δρουν σαν παρεμβολείς Βασικό πλεονέκτημα το μικρό πλήθος σημείων (Ν+) 8
Πυρήνες για απλά είδη παρεμβολής Παρεμβολή κοντινότερου γείτονα (nearest neib. interpolation) Γραμμική παρεμβολή (linear interpolation) 9
Πολυωνυμική παρεμβολή Πολύ συνηθισμένη παρεμβολή (πχ Lagrange) Συνήθως γίνεται κατά τμήματα (ομάδες δειγμάτων, διότι πολυώνυμο που παρεμβάλει Ν σημεία έχει βαθμό Ν-. Ετσι για Ν >5 το πολυώνυμο γίνεται ασταθές Πιο συχνή είναι η κυβική παρεμβολή 20
Κυβική Παρεμβολή Για κάθε σημείο t 0 στο οποίο απαιτείται παρεμβολή: Βρίσκονται 2 προηγούμενα και τα 2 επόμενα σημεία του σήματος, εστω n 0 -, n 0 καιn 0 +, n 0 +2 Πχ. Αν ζητάμε παρεμβολή για t=0.2, τότε χρησιμοποιούμε τα δείγματα 9, 0, και 2. Εξισώνοντας τις τιμές του σήματος στις 4 θέσεις, με τις τιμές ενός πολυωνύμου 3 ου βαθμού, υπολογίζουμε τους 4 συντελεστές του πωλυωνύμου Χρησιμοποιούμε το πολώνυμο γι να υπολογίσουμε την τιμή του σήματος στη ζητούμενη θέση 2
Κυβική παρεμβολή με χρήση πυρήνα (kernel) Αποδεικνύεται ότι τα προηγούμενα ισοδυναμούν με τη συνέλιξη του σήματος με τον ακόλουθο πυρήνα (η παράμετρος aκαθορίζει μία οικογένεια πυρήνων με παρόμοιες ιδιότητες) cubic ( ) K t ( ) ( ) 3 2 a+ t a+ t + t < 2 3, = 3 2 at 5at + 8at 4 a, t < 2 Συχνά χρησιμοποιείται ο πυρήνας για a=-/2 cubic ( ) K t 3 3 5 2 t t +, t < 2 2 = 3 5 2 t + t t + t < 2 2 4 2, 2 22
Για οποιοδήποτε t 0 (με μη ακέραια τιμή), n 0 o μικρότερος ακέραιος πλησιέστερος στο n 0. Υπολογίζεται η τιμή του πυρήνα στις θέσεις (t 0 -(n 0 -)), (t 0 - n 0 ), (t 0 -(n 0 +)), (t 0 -(n 0 +)) Υπολογίζεται η ζητούμενη τιμή από τη σχέση 3 ( ) x( k) K( t k) x t = k= 0 23
Ο πυρήνας κυβικής παρεμβολής και η απόκριση συχνότητας (προκύπτει από το μετασχηματισμό Fourier) Παρατηρούμε ότι ο πυρήνας αποτελεί Lowpassφιλτρο Το σημαντικό πλεονέκτημα είναι ότι ο πυρήνας έχει μόνο 4 σημεία στήριξης (έναντι των απείρων του ιδανικού πυρήνα sinc)και απόκριση συχνότητας παρόμοια με το ιδανικό DFT 24
Παρεμβολή πολυδιάστατων σημάτων Οι προηγούμενοι Dπυρήνεςεφαρμόζονται σε περισσότερες διαστάσεις, διαδοχικά (πχ σε 2Dπρώτα κατά γραμμές και επί του αποτελέσματος εφαρμόζονται κατά στήλες) Ισοδύναμα Ο 2D πυρήνας h(x,y) είναι διαχωρίσιμος Ο 2D πυρήνας h(x,y) είναι διαχωρίσιμος: N,,, ( ) I( k l) h ( x k y l) I x y ( ) = ( ) ( ) h x y h x h y 2, = 2 k= 0 25
Παρεμβολή εικόνας Εστω ότι δεδομένης μίας εικόνας Ι NxMθέλουμε να δημιουργήσουμε εικόνα Ι 2 διαστάσεων2nx2m. Οι τιμές των νέων pixelτης Ι 2 υπολογίζονται βάσει παρεμβολής των τιμών των pixelτης Ι. Δύο είναι οι απλούστεροι τρόποι υπολογισμού των τιμών pixelτης Ι 2 : Κοντινότερο γείτονα: αναδιπλασιασμό (replication) τιμών (zero order hold κράτηση μηδενικής τάξης) γραμμική παρεμβολή linear interpolation-τιμών (first order hold κράτηση πρώτης τάξης)
Μεταβολή αριθμού pixel της εικόνας παρεμβολή κοντινότερου γείτονα Έστω διπλασιασμός της διάστασης της εικόνας: Ι : MxN I 2 : 2Mx2N: Διπλασιάζουμε τις διαστάσεις της εικόνας συμπληρώνοντας τα νέα pixel με μηδενικές τιμές, δηλ. θέτουμε: 2 ( ) I i j i j I,, iκαιj : άρτια = 0 iήj : περιττό, 2 2 Για κάθε ένα από τα 3 μηδενικά γειτονικά pixelτου (i,j) με i,jάρτια, θέτουμε τιμή ίση με Ι (i,j), σύμφωνα με τον παρακάτω ψευδοκώδικα: for i=:m- for j=:n- I2(2i,2j)=I(i,j) I2(2i+,2j)=I(i,j) I2(2i,2j+)=I(i,j) I2(2i+,2j+)=I(i,j) end end Ο συγκεκριµένος αλγόριθµος γενικεύεται για νέα διάσταση τυχαίο ακέραιο πολλαπλάσιο των ΜxΝ. 27
Τα προηγούμενα βήματα ισοδυναμούν με συνέλιξη της I 2 με την μάσκα H Παράδειγμα: 0 0 0 H= 0 0 I 2 3 = 4 5 6 I 2 0 2 0 3 0 0 0 0 0 0 0 = 4 0 5 0 6 0 0 0 0 0 0 0 I 2 2 2 3 3 2 2 3 3 = 4 4 5 5 6 6 4 4 5 5 6 6 28
Η γραμμική παρεμβολή σε εικόνες Εστω ότι επιθυμούμε να υπολογίσουμε την τιμή μίας εικόνας σε ένα σημείο με μη ακέραιες συντεταγμένες (y,x)=([y]+α,[x]+β), όπου [x],[y] το ακέραιο μέρος των x,yκαι α, β το κλασματικό τους μέρος. x= x + b [ ] [ ] [ ] [ ] y= y + a + x, y N, ab,,0 < ab, < Η τιμή της Ι στη θέση (y,x) είναι ο μέσος όρος των 4 γειτονικών pixelπουτο περικλείουν, σταθμισμένος με τον αντίστροφο της απόστασης του (y,x) από τα κέντρα τους: ([ ] [ ] ) ( )( ) [ ] [ ] ( ) [ ] [ ] ( ) ( ) ([ ] [ ] ) ( ) ([ ] [ ] ) I y + a, x + b = a b I y, x + a b I y, x + + a bi y +, x + abi y +, x + ([y],[x]) ([y],[x]+) ([y]+,[x]) ([y]+,[x]+) 29
Περιστροφή της εικόνας και η εφαρμογή της παρεμβολής Εστω αρχική εικόνα I(x,y) (μαύρο πλέγμα γραμμών) και η περιεστραμένη γύρω από το κέντρο της Ι(x,y)(πλέγμα μπλε γραμμών) Τα pixelείναι τα σημεία τομής των γραμμών του πλέγματος Τα pixelτης Ι παίρνουν τιμές από τα κοντινότερα Pixel της I. H εύρεση των τιμών της I γίνεται με παρεμβολη της Ι 30
Δικυβική παρεμβολή σε εικόνες Η εφαρμογή της κυβικής παρεμβολής κατά γραμμές και στη συνέχεια κατά στήλες ονομάζεται δικυβική Ο πυρήνας της δικυβικής παρεμβολής είναι 4x4 Για παρεμβολή της εικόνας σε σημείο απαιτούνται 4x4 σημεία στήριξης 2 πριν και 2 μετά το ζητούμενο σημείο, κατά γραμμές και κατά στήλες row index req µ req µ req µ + ( λ req, µ req ) req µ + 2 req λ req req λ λ + req λ + 2 3
Μεταβολή αριθμού pixel της εικόνας με γραμμική παρεμβολή Βήμα : Δημιουργείται μία νέα εικόνα με το ζητούμενο μέγεθος, σύμφωνα με τα προηγούμενα. Τα επιπλέον pixel έχουν τιμή 0. 2 ( ) I i j i j I,, iκαιj : άρτια = 0 iήj : περιττό, 2 2 Βήμα 2: Γραμμική παρεμβολή κατά γραμμές: I2 i j I i j I i j 2 ( ) ( 2 +,2 ) = ( +, ) + (, ) Βήμα 3: Γραμμική παρεμβολή κατά στήλες: Προσοχή: η παρεμβολή κατάστήλες γίνεται και για τις νέες στήλες που δημιουργήθηκαν από το βήμα. I2 i j I i j I i j 2 ( ) ( 2,2 + ) = (, + ) + (, ) Ο συγκεκριµένος αλγόριθµος γενικεύεται για νέα διάσταση και για τυχαίο ακέραιο πολλαπλάσιο των ΜxΝ. 32
Η έννοια της γραμμικής παρεμβολής εικόνας 2D Τιμές εικόνας 0 0 2 0 Στήλες (Χ) 0 2 Αρχική τιµή εικόνας Τιµή εικόνας από παρεµβολή /04
Παράδειγμα γραμμικής παρεμβολής εικόνας I 2 3 = 4 5 6 Εισαγωγή κενών pixel I 2 0 2 0 3 0 0 0 0 0 0 0 = 4 0 5 0 6 0 0 0 0 0 0 0 Παρεµβολή κατά γραµµές I 2.5 2 2.5 3.5 0 0 0 0 0 0 = 4 4.5 5 5.5 6 3 0 0 0 0 0 0 Παρεµβολή κατά στήλες I 2.5 2 2.5 3.5 2.5 3 3.5 4 4.5 2.25 = 4 4.5 5 5.5 6 3 2 2.25 2.5 2.75 3.5 Με διαδοχική εφαρμογή πρώτα κατά γραμμές και μετά κατά στήλες /04
Τα προηγούμενα βήματα ισοδυναμούν με συνέλιξη της I 2 με την μάσκα H H = 4 2 4 2 2 4 2 4 I 2 3 = 4 5 6 I 2 0 2 0 3 0 0 0 0 0 0 0 = 4 0 5 0 6 0 0 0 0 0 0 0 I 2 2 2 3 3 2 2 3 3 = 4 4 5 5 6 6 4 4 5 5 6 6 35
Σύγχρονες Μέθοδοι Παρεμβολής: State of the Artκαι Βιβλιογραφία Γενικευμένη παρεμβολή (generalized interpolation) Οικογένεια b-spline, O-MOMs κλπ: οι πυρήνες αυτοί δε συνελίσσονται απευθείας με τις τιμές του σήματος, αλλά με συντελεστές που υπολογίζονται κατάλληλα 36
Παρεμβολή με χρήση παραγώγων: παράγονται συναρτήσεις,οι οποίες όχι μόνο παρεμβάλουν τις τιμές του σήματος, αλλά και τις τιμές των παραγώγων του σήματος, οπιασδήποτε τάξης Οι παράγωγοι υπολογίζονται αριθμητικά με κεντρικές διαφορές, ή implicitly 37
Μέθοδοι παρεμβολής ιατρικών εικόνων Lehmann, T. M., Gönner, C., & Spitzer, K. (999). Survey: Interpolation methods in medical image processing,ieee Transactions onmedical Imaging, 8(), 049-075 Γενικευμένη παρεμβολή (b-spline κλπ) Infinite impulse response (IIR) prefilteringalgorithm described in the work of Unser et al [IEEE T. SP, 4, 993] T.Blu, P.Thévenaz, and.unser, Complete Parameterization of Piecewise-Polynomial Interpolation Kernels, IEEE TRANSACTIONS on Image Processing, 2(), 2003 http://bigwww.epfl.ch/tutorials/unser_isbi_06_part.pdf 38
Παρεμβολή με χρήση παραγώγων (Hermite) Delibasis, K. K., & Kechriniotis, A. (204). A new formula for bivariate hermiteinterpolation on variable step grids and its application to image interpolation.imageprocessing, IEEE Transactions on,23(7), 2892-2904. Delibasis, K. K., Kechriniotis, A. I., & Assimakis, N. D. (202). New closed formula for the univariatehermiteinterpolating polynomial of total degree and its application in medical image slice interpolation. Signal Processing, IEEE Transactions on, 60(2), 6294-6304 Delibasis, K. K., Kechriniotis, A., & Maglogiannis, I. (203). On centered and compact signal and image derivatives for feature extraction. InArtificial Intelligence Applications and Innovations(pp. 38-327). Springer Berlin Heidelberg. 39