ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ, ΤΜΗΜΑ Ι ΑΚΤΙΚΗΣ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΨΣ 50: ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ Ακαδηµαϊκό Έτος 005 006, Χειµερινό Εξάµηνο Καθ.: Νίκος Τσαπατσούλης ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ Η εξέταση αποτελείται από δύο µέρη. Το πρώτο περιλαµβάνει 36 ερωτήσεις πολλαπλής επιλογής και βαθµολογείται µε 45 µονάδες. Κάθε ερώτηση έχει µόνο µία ορθή απάντηση και οι ορθές απαντήσεις πρέπει να µεταφερθούν στον πίνακα που σας δίνεται στην τελευταία σελίδα. Το δεύτερο µέρος περιλαµβάνει πέντε ασκήσεις / θεωρητικές ερωτήσεις, από τις οποίες πρέπει να απαντήσετε δύο, και βαθµολογείται µε 55 µονάδες. ΠΡΟΣΟΧΗ: Σε περίπτωση απάντησης περισσότερων από δύο ασκήσεων θα ληφθούν υπόψη οι δύο µε τη χειρότερη βαθµολογία. ΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: ΩΡΕΣ ΚΑΛΗ ΕΠΙΤΥΧΙΑ! ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΑΡΙΘΜΟΣ ΦΟΙΤΗΤΙΚΗΣ ΤΑΥΤΟΤΗΤΑΣ:... ΕΞΑΜΗΝΟ: ΜΕΡΟΣ Α ΒΑΘΜΟΛΟΓΙΑ ΜΕΡΟΣ Β ΣΥΝΟΛΟ
ΜΕΡΟΣ Β: ΑΣΚΗΣΕΙΣ Άσκηση (5 µονάδες): ίνεται η εικόνα f(x,y) του διπλανού σχήµατος η οποία παίρνει τιµές φωτεινότητας στο διάστηµα [0 5] µε το 0 να αντιστοιχεί στο µαύρο, το 5 να αντιστοιχεί στο λευκό και ενδιάµεσες τιµές να αντιστοιχούν σε αποχρώσεις του γκρι. Η εικόνα διαιρείται σε µπλοκ 4x4 pixels και κάθε µπλοκ συγκρίνετε σηµείο προς σηµείο µε το µητρώο (µάσκα) h. Αν η τιµή του σηµείου (x,y) του µπλοκ είναι µεγαλύτερη από την αντίστοιχη του µητρώου τότε στο αντίστοιχο pixel η εικόνα εξόδου παίρνει τη τιµή αλλιώς παίρνει τη τιµή 0. Ο αλγόριθµος συνοψίζεται παρακάτω υπό τη µορφή ψευδοκώδικα: begin for x= to 8, //columns for y= to 8 //rows i=x modulo 4 j=y modulo 4 // f(x,y) is the input, g(x,y) is the output, h is the mask if f(x,y)>h(i,j) g(x,y)= else g(x,y)=0 end Εικόνα f 0 0 0 0 5 5 5 5 0 0 0 0 5 5 5 5 0 0 0 0 5 5 5 5 0 0 0 0 5 5 5 5 0 0 0 0 5 5 5 5 0 0 0 0 5 5 5 5 0 0 0 0 5 5 5 5 0 0 0 0 5 5 5 5 Μητρώο (µάσκα) h 0 8 0 4 4 6 3 9 5 7 3 5 (a) Υπολογίστε την εξόδου g(x,y) (8 µονάδες) (b) Αφού παρατηρήσετε προσεκτικά την εικόνα g(x,y) σε σχέση µε την εικόνα f(x,y) εξηγήστε τι πιστεύετε ότι κάνει ο παραπάνω αλγόριθµος (6 µονάδες) (c) Που πιστεύετε (σε ποιες εφαρµογές) ότι εφαρµόζεται ένας τέτοιος αλγόριθµος. Εξηγήστε τη χρησιµότητα του. - (3 µονάδες) (d) ώστε έναν εναλλακτικό τρόπο για να επιτύχουµε αντίστοιχο οπτικό αποτέλεσµα µε αυτό που επιτυγχάνει ο παραπάνω αλγόριθµος. Ποια πλεονεκτήµατα και ποια µειονεκτήµατα έχει η νέα µέθοδος σε σχέση µε αυτή που περιγράφηκε παραπάνω;- (8 µονάδες) 3
Άσκηση (5 µονάδες): R( x, y) ίνεται η έγχρωµη εικόνα f ( x, y) = G( x, y) η οποία έχει B( x, y) υποβαθµιστεί εξαιτίας της παρουσίας θορύβου. Ζητείται η αποκατάσταση της εικόνας. Για το σκοπό αυτό χρειάζεται να εκτιµηθούν τα στατιστικά χαρακτηριστικά του θορύβου (πιθανοτική κατανοµή, µέση τιµή και διασπορά). (a) Να προτείνετε ένα πρακτικό τρόπο για την διαδραστική (π.χ. µε τη χρήση ποντικιού) εκτίµηση των παραπάνω στατιστικών χαρακτηριστικών του θορύβου λαµβάνοντας υπόψη ότι η εικόνα είναι έγχρωµη. - (5 µονάδες) (b) Να γράψετε ένα πρόγραµµα µε τη µορφή ψευδοκώδικα µε το οποίο να υλοποιείται το ερώτηµα (a). Θεωρήστε ότι υπάρχουν συναρτήσεις υψηλού επιπέδου της µορφής των συναρτήσεων που υποστηρίζει η Matlab. Για παράδειγµα θεωρήστε ότι υπάρχει η συνάρτηση mean η οποία υπολογίζει τη µέση τιµή ενός πίνακα (ή ενός µέρους του πίνακα) (5 µονάδες) (c) Να προτείνετε µια µεθοδολογία (π.χ. µετατροπή σε ένα άλλο χρωµατικό µοντέλο και εφαρµογή ενός συγκεκριµένου φίλτρου) για την απαλοιφή του θορύβου από την εικόνα η οποία δηµιουργεί τη λιγότερη δυνατή παραµόρφωση στο ουσιαστικό περιεχόµενο της εικόνας. Αιτιολογήστε την απάντηση σας. - (5 µονάδες) Άσκηση 3 (30 µονάδες): Για το φιλτράρισµα της εικόνας f(x,y) της Άσκησης εφαρµόζουµε ένα φίλτρο median (ενδιάµεσης τιµής) στα επιµέρους χρωµατικά επίπεδα R,G,B και συνδυάζουµε τα αποτελέσµατα. (a) Εξηγήστε µέσω ενός συγκεκριµένου παραδείγµατος (για παράδειγµα εφαρµόστε ένα median φίλτρο σε παράθυρο (3,) για τα πρώτα 5 pixel της εικόνας f(x,y). Μπορείτε τα επιλέξετε όποιες τιµές κρίνετε κατάλληλες για τα pixel αυτά ώστε να αναδεικνύεται η παραµόρφωση) ότι η παραπάνω διαδικασία παραµορφώνει σε µεγάλο βαθµό την εικόνα. ( µονάδες). (b) Για ποιο είδος θορύβου (π.χ. gauss, poison, rayleigh, exponential, salt & pepper κλπ) είναι αποτελεσµατικότερα τα φίλτρα ενδιάµεσης τιµής; Αιτιολογήστε την απάντηση σας µέσω ενός µικρού παραδείγµατος. Τι ιστόγραµµα έχει µια εικόνα που δηµιουργείτε αποκλειστικά από το παραπάνω είδος θορύβου; (8 µονάδες). (c) Να προτείνετε µια µεθοδολογία για φιλτράρισµα έγχρωµων εικόνων µε φίλτρα median χωρίς να δηµιουργείτε µεγάλη παραµόρφωση στην εικόνα. (5 µονάδες) (d) Αν στο ερώτηµα (a) εφαρµόζαµε ένα φίλτρο εξοµάλυνσης ( smoothing ) της µορφής h = 4 θα είχαµε πάλι παραµόρφωση της εικόνας στον ίδιο βαθµό; Αιτιολογήστε την 6 απάντηση σας. (5 µονάδες) 4
Άσκηση 4 (5 µονάδες): Παρακάτω δίνεται το διάγραµµα ενός JPEG encoder. Να εξηγήσετε συνοπτικά αλλά τεκµηριωµένα: (a) Γιατί πριν την εφαρµογή του µετασχηµατισµού DCT (DCT) σε κάθε block 8x8 αφαιρείται το 8 από όλες τις τιµές του block (3 µονάδες). (b) Γιατί εφαρµόζουµε ιαφορική Κωδικοποίηση (DPCM) στους DC συντελεστές (γειτονικών block) (3 µονάδες). (c) Γιατί εφαρµόζουµε Κωδικοποίηση Μήκους ιαδροµής (Run Length Encoding -RLC) στους AC συντελεστές (εντός του block) (3 µονάδες) Σχήµα Β. (d) Στη συνέχεια δίνεται ο πίνακας των συντελεστών DCT ενός block 8x8 µιας εικόνας καθώς και ένας συχνά χρησιµοποιούµενος πίνακας κβαντισµού Q. Να υπολογίσετε τις (ακέραιες) τιµές των συντελεστών DCT µετά τον κβαντισµό (3 µονάδες). (e) Να εφαρµόσετε κωδικοποίηση µήκους διαδροµής (της µορφής σύµβολο! αριθµός επαναλήψεων όπου απαιτείται) µε zigzag scanning στο αποτέλεσµα του ερωτήµατος (d). Σηµειώνεται ότι το τελευταίο block µηδενικών κωδικοποιείται µε ένα χαρακτήρα & (ΕΟΒ End Of Block) (5 µονάδες). (f) Υπολογίστε το βαθµό συµπίεσης που επιτυγχάνεται στο συγκεκριµένο block µε συνδυασµό κωδικοποίησης µετασχηµατισµού και µήκους διαδροµής (4 µονάδες). (g) Πως θα µπορούσαµε να αυξήσουµε τη συµπίεση τροποποιώντας τον πίνακα κβαντισµού και τι συνέπειες θα είχε αυτό (4 µονάδες) DCT συντελεστές 34 0 3 - - 0 0-38 0 9 0-0 0-8 0 0-0 0 - -9 0 - - 0-0 -3 0 - - 0 0-0 - 0 3 - -3 0-0 0-0 0 0 0 0 - - 5
Πίνακας Κβαντισµού Q 0 0 5 0 5 30 35 40 0 5 0 5 30 35 40 50 5 0 5 30 35 40 50 60 0 5 30 35 40 50 60 70 5 30 35 40 50 60 70 80 30 35 40 50 60 70 80 90 35 40 50 60 70 80 90 00 40 50 60 70 80 90 00 0 Άσκηση 5 (30 µονάδες): ίνονται οι δύο εικόνες αποχρώσεων του γκρι που φαίνονται στο επόµενο σχήµα. Αµφότερες έχουν µόνο δύο διαφορετικές τιµές: σκούρο γκρι => τιµή φωτεινότητας 90, ανοικτό γκρι => τιµή φωτεινότητας 80 και διαστάσεις 64x64 pixels. Image A Image B (a) Να σχεδιάσετε τα ιστογράµµατα των δύο εικόνων. Τι παρατηρείτε συγκρίνοντας τα; Τι µπορείτε να πείτε σχετικά µε τη χρήση της οµοιότητας ιστογραµµάτων ως κριτήριο οµοιότητας εικόνων; (4 µονάδες) (b) (c) Στις δύο εικόνες εφαρµόζουµε το φίλτρο εξοµάλυνσης h η µάσκα του οποίου φαίνεται στο διπλανό σχήµα. Πόσες και ποιες διακριτές τιµές φωτεινότητας θα έχουν οι δύο εικόνες A και Β µετά την εφαρµογή του φίλτρου; (0 µονάδες) Για τις φιλτραρισµένες εικόνες να υπολογίσετε προσεγγιστικά (αγνοώντας τις επιπτώσεις που δηµιουργούν τα όρια της εικόνας) τον αριθµό των pixels που έχουν κάθε µια από τις παραπάνω τιµές φωτεινότητας και να σχεδιάσετε τα αντίστοιχα ιστογράµµατα. (0 µονάδες). Φίλτρο (µάσκα) h /9 /9 /9 /9 /9 /9 /9 /9 /9 (d) Τι παρατηρείτε συγκρίνοντας τα ιστογράµµατα του ερωτήµατος (c); Εξηγήστε που οφείλονται τυχόν διαφορές στα ιστογράµµατα. Τι µπορείτε να πείτε σχετικά µε τη χρήση της οµοιότητας ιστογραµµάτων ως κριτήριο οµοιότητας εικόνων µετά από τα αποτελέσµατα του ερωτήµατος (c); (4 µονάδες) 6
(e) Μπορεί η εφαρµογή του συγκεκριµένου φίλτρου εξοµάλυνσης h να προσοµοιάσει τις επιδράσεις της κίνησης της κάµερας στη λήψη των φωτογραφιών; Αιτιολογήστε την απάντηση σας ( µονάδες) Άσκηση 6 (30 µονάδες): Στο διπλανό σχήµα φαίνεται ο µετασχηµατισµός Fourier G(u, (µετατοπισµένος έτσι ώστε η συχνότητα (0,0) να βρίσκεται στο κέντρο του σχήµατος) µιας εικόνας g(x,y) διαστάσεων 9x54. Στην εικόνα έχει επιδράσει περιοδικός θόρυβος. (a) Να υπολογίσετε προσεγγιστικά τη βασική συχνότητα του περιοδικού θορύβου (ζεύγος οριζόντιας και κάθετης συχνότητας). - (6 µονάδες) Υπόδειξη: (α) Οι διαστάσεις του πίνακα G(u, είναι ίσες µε τις διαστάσεις τις εικόνας g(x,y) (β) Λάβετε υπόψη τις συµµετρίες του πίνακα G(u, (b) (γ) όσο πιο φωτεινό είναι ένα σηµείο στον πίνακα G(u, τόσο πιο ισχυρή είναι η αντίστοιχη συχνότητα (u,, (δ) οι συχνότητες u αυξάνονται κάθετα προς τα κάτω και οι συχνότητες v αυξάνονται οριζόντια προς τα δεξιά (εποµένως το θετικό τεταρτηµόριο είναι το κάτω δεξιά). Για την απαλοιφή του θορύβου εφαρµόζουµε φιλτράρισµα στο χώρο της συχνότητας µε χρήση του φίλτρου εγκοπής Butterworth: H notch ( u, = D 0 + D ( u, D ( u, n M N D ( u, = u u0 + v v0, M N D ( u, = u + u0 + v + v0 (c) (d) D (u, και D (u, είναι οι αποστάσεις της συχνότητας (u, από τη συχνότητα που πρέπει να αποκοπεί και τη συµµετρική της αντίστοιχα, D 0 είναι η ακτίνα της εγκοπής µε κέντρο τη συχνότητα που αποκόπτεται, [Μ, Ν] είναι οι γραµµές και οι στήλες της εικόνας g(x,y), (u 0,v 0 ) είναι οι συντεταγµένες της συχνότητας που πρέπει να αποκοπεί (µε αρχή αξόνων στο κέντρο του σχήµατος) -αποτέλεσµα ερωτήµατος (a)- και n είναι η τάξη του φίλτρου. Με βάση τα παραπάνω να υπολογίσετε την τελική µορφή του φίλτρου H notch (u, τάξης. - (6 µονάδες) Να δώσετε την απόκριση συχνότητας H ideal του ιδεατού φίλτρου εγκοπής µε βάση τις παραµέτρους D 0, D (u, και D (u, που υπολογίσατε στο ερώτηµα (b). - (6 µονάδες) Να γράψετε ένα πρόγραµµα µε τη µορφή ψευδοκώδικα µε το οποίο να πραγµατοποιείται το φιλτράρισµα της εικόνας g(x,y) µε το ιδεατό φίλτρο εγκοπής. Θεωρήστε ότι υπάρχουν συναρτήσεις υψηλού επιπέδου της µορφής των συναρτήσεων που υποστηρίζει η Matlab. Για παράδειγµα θεωρήστε ότι υπάρχει η συνάρτηση ifft η οποία υπολογίζει τoν αντίστροφο µετασχηµατισµό Fourier ενός πίνακα. ( µονάδες) 7
ΤΥΠΟΛΟΓΙΟ H = n i= ( p( ) p( si ) log s i ), ACL = N( si ) p( s i ), ΠΙΝΑΚΑΣ ΑΠΑΝΤΗΣΕΩΝ n i= Ερώτηση Α Β Γ 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 8