1 / 45

ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ

ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ. ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ τομέας ηλεκτρονικής και τεχνολογίας συστημάτων πληροφορικής. « Κλιμάκωση Εικόνων ( zooming) ». Στο πρώτο μέρος θα δούμε γενικά το πρόβλημα της κλιμάκωσης της ψηφιακής εικόνας και πώς αντιμετωπίζεται αυτό.

sherri
Download Presentation

ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ τομέας ηλεκτρονικής και τεχνολογίας συστημάτων πληροφορικής « Κλιμάκωση Εικόνων (zooming) »

  2. Στο πρώτο μέρος θα δούμε γενικά το πρόβλημα της κλιμάκωσης της ψηφιακής εικόνας και πώς αντιμετωπίζεται αυτό. Στη συνέχεια θα παρουσιαστούν τα πιο δημοφιλή υπάρχοντα μοντέλα κλιμάκωσης με τα θετικά και αρνητικά χαρακτηριστικά τουςκαθώς και μία προσέγγιση που αναπτύχθηκε στο εργαστήριό μας. Στο τρίτο μέρος θα δούμε κάποια συγκριτικά τεστ (benchmarks) για τις μεθόδους που παρουσιάσαμε. Στο τέταρτο μέρος θα γίνει αναλυτική περιγραφή της υλοποίησης του μοντέλου του εργαστηρίου, θα επισημανθούν τα σημαντικότερα προβλήματα που αντιμετωπίσαμε με τις λύσεις τους και θα δούμε τα σημαντικότερα χαρακτηριστικά της υλοποίησης. Στο πέμπτο μέρος θα δούμε μία εφαρμογή κλιμάκωσης video στο Simulink του πακέτου Matlab.

  3. Η κλιμάκωση είναι τμήμα του γενικότερου αντικειμένου στην επεξεργασίας εικόνας «image interpolation». • Image Interpolation • Μετασχηματισμός(transformation) με σκοπό: • Scaling • Translation • Rotation

  4. Βασικοί στόχοι των μετασχηματισμών είναι • Γρήγοροι • Χαμηλό υπολογιστικό κόστος • Καλά οπτικά αποτελέσματα • Ακμές ( high frequency ) • Θόλωμα • Φαινόμενο «jaggy»

  5. Κλιμάκωση Εικόνας Ο κύριος στόχος σε έναν αλγόριθμο μεγέθυνσης/σμίκρυνσης είναι η καλύτερη εύρεση της φωτεινότητας των pixel των οποίων η τιμή δεν είναι άμεσα υπολογίσιμη. Με τον όρο καλύτερη εύρεση ομαδοποιούμε το σύνολο των παραγόντων που περιγράψαμε προηγουμένως Ας δούμε ένα παράδειγμα για να γίνει πιο κατανοητό το πρόβλημα.

  6. Κλιμάκωση Εικόνας Η παραπάνω εικόνα είναι μία εικόνα 190x190 pixel, σε μία μεγέθυνσή της κατά ένα scale factor 2 η εικόνα γίνεται (190x2)x(190x2)=380x380 pixel. Με μία πρώτη ματιά καταλαβαίνουμε ότι από τα 36100 pixel που είχε αρχικά η εικόνα μας, έχουμε μετά την μεγέθυνση συνολικά 144400 pixel.

  7. Η Τεχνικήnearest neighbor ήpixel repetition Κλιμάκωση Εικόνας Βήμα 1ο: Προσδιορίζουμε τη προβολή (απεικόνιση) του κέντρου του pixel στην αρχική εικόνα Υπάρχοντα Μοντέλα Βήμα 2ο: Βρίσκουμε το pixel του οποίου το κέντρο βρίσκεται πιο κοντά στο σημείο της προβολής Βήμα 3ο: Θέτουμε τη φωτεινότητα του ζητούμενου pixel της τελικής εικόνας ίση με τη φωτεινότητα του pixel, από το βήμα 2, της αρχικής εικόνας.

  8. Η Τεχνικήnearest neighbor ήpixel repetition Κλιμάκωση Εικόνας Εφαρμογή της μεθόδου στη “Lena” Υπάρχοντα Μοντέλα Μεγέθυνση κατά 4 φορές

  9. Η Τεχνικήnearest neighbor ήpixel repetition Κλιμάκωση Εικόνας πλεονεκτήματα Υπάρχοντα Μοντέλα • Πολύ απλή τεχνική • Πολύ γρήγορη τεχνική • Εύκολα υλοποιήσιμη σε H/W μειονεκτήματα • Καθόλου καλά οπτικά αποτελέσματα • Εμφάνιση “ψηφιδωτού” (blocky effect)

  10. Η Τεχνικήbilinear interpolation Κλιμάκωση Εικόνας Βήμα 1ο : Αρχικά προσδιορίζουμε τη προβολή του κέντρου του στην αρχική εικόνα όπως στην προηγούμενη μέθοδο. Υπάρχοντα Μοντέλα Βήμα 2ο :Βρίσκουμε τα τέσσερα pixel των οποίων τα κέντρα βρίσκονται πιο κοντά στο σημείο της προβολής. Tο (i,j) είναι και το πλησιέστερο pixel στην προβολή και ανάλογα σε ποιο τεταρτημόριο του (i,j) βρίσκεται προσδιορίζουμε και τα άλλα τρία pixel. Υπολογίζουμε την τιμή της φωτεινότητας σύμφωνα με τη σχέση: Βήμα 3ο: Προσδιορίζουμε τις οριζόντιες και κάθετες αποστάσεις της προβολής από τα κέντρα των τεσσάρων πλησιέστερων pixel.

  11. Η Τεχνικήbilinear interpolation Κλιμάκωση Εικόνας Εφαρμογή της μεθόδου στη “Lena” Υπάρχοντα Μοντέλα Μεγέθυνση κατά 4 φορές

  12. Η Τεχνικήbilinear interpolation Κλιμάκωση Εικόνας πλεονεκτήματα Υπάρχοντα Μοντέλα • Διατηρεί τα χαρακτηριστικ\ά μιας απλής τεχνικής • Σχετικά γρήγορη τεχνική • Εύκολα υλοποιήσιμη σε H/W • Αποτελεί την πλέον χρησιμοποιούμενη μέθοδο μειονεκτήματα • Παρατηρείται ένα «θόλωμα» στην εικόνα

  13. Η Τεχνικήbicubic interpolation Κλιμάκωση Εικόνας Υπάρχοντα Μοντέλα

  14. Η Τεχνικήbicubic interpolation Κλιμάκωση Εικόνας Εφαρμογή της μεθόδου στη “Lena” Υπάρχοντα Μοντέλα Μεγέθυνση κατά 4 φορές

  15. Η Τεχνικήbicubic interpolation Κλιμάκωση Εικόνας πλεονεκτήματα Υπάρχοντα Μοντέλα • Πολύ καλά αποτελέσματα για μικρούς συντελεστές μειονεκτήματα • Το «θόλωμα» στην εικόνα είναι ακόμα περισσότερο • Ιδιαίτερα πολύπλοκος αλγόριθμος • Πολύ δύσκολος στην υλοποίηση με μεγάλο υπολογιστικό κόστος

  16. Το ιδιαίτερο χαρακτηριστικό της μεθόδου αυτής είναι ότι εκτός από την πληροφορία του εμβαδού που χρησιμοποιεί για τον τελικό υπολογισμό, όπως θα δούμε αναλυτικά, χρησιμοποιεί για ακόμα καλύτερα αποτελέσματα την διαφορά της φωτεινότητας των pixel που «καλύπτει» η μάσκα. Το επιπλέον αυτό κριτήριο διατηρεί τα επιθυμητά χαρακτηριστικά των αλγορίθμων για γραμμική λύση και υλοποίηση με χαμηλό υπολογιστικό κόστος Κλιμάκωση Εικόνας

  17. Βήμα 1ο Κλιμάκωση Εικόνας Τα pixel της τελικής εικόνας σχηματίζονται χωρίς να έχουν τιμή στην φωτεινότητά τους. Ο αριθμός τους βρίσκεται με έναν απλό πολλαπλασιασμό έτσι έχουμε για την αρχική εικόνα 6x6 pixel και για την τελική (6x1,5)x(6x1,5)=9x9 pixel Τα δεδομένα μας είναι η αρχική εικόνα και ο παράγοντας μεγέθυνσης ή σμίκρυνσης. Στο παράδειγμά μας έστω ότι μεγεθύνουμε την αρχική μας εικόνα κατά 1.5 φορές η κατά 150%.

  18. Βήμα 2ο Κλιμάκωση Εικόνας Υπολογίζουμε το εμβαδόν της μάσκας η οποία θα εφαρμοστεί στην αρχική μας εικόνα. Το εμβαδόν της ορίζεται ως το πηλίκο του συντελεστή μεγέθυνσης στο τετράγωνο Έτσι για παράδειγμα έστω ότι έχουμε την παραπάνω μεγέθυνση ( 150% ), το εμβαδόν της μάσκας θα ορίζεται ως

  19. Βήμα 3ο Κλιμάκωση Εικόνας Το επόμενο βήμα είναι η εύρεση της προβολής του άγνωστου pixel πάνω στην αρχική μας εικόνα. Αφού βρούμε την προβολή, με κέντρο αυτή, αναπτύσσουμε τη μάσκα με αποτέλεσμα να καλύπτονται ένα, δύο ή τέσσερα pixels της αρχικής εικόνας. Το pixel το οποίο καλύπτεται περισσότερο από τη μάσκα μας το ονομάζουμε κεντρικό pixel και θα παίξει το σημαντικότερο ρόλο στο τελικό αποτέλεσμα

  20. Βήμα 3ο Κλιμάκωση Εικόνας

  21. Βήμα 3ο Κλιμάκωση Εικόνας

  22. Βήμα 3ο Κλιμάκωση Εικόνας Στη συνέχεια βρίσκουμε τα βάρη τα οποία θα χρησιμοποιήσουμε τελικά και τα οποία βρίσκονται με την διαίρεση του τελικού συντελεστή βάρους εμβαδού Αχ΄ ( όπου χ ο αριθμός του pixel ) με το εμβαδόν της μάσκας. Έτσι έχουμε : Στα τελικά βάρη αυτά συμπεριλαμβάνονται τα δύο βασικά κριτήρια της μεθόδου, η διαφορά της φωτεινότητας αλλά και τα εμβαδά που καταλαμβάνει η μάσκα στα pixel

  23. Βήμα 4ο Κλιμάκωση Εικόνας Τελικά το τελικό pixel υπολογίζεται από τον παρακάτω τύπο

  24. Εφαρμογές του αλγόριθμου. Κλιμάκωση Εικόνας Το προτεινόμενο Μοντέλο Μεγέθυνση κατά 2 ή 200%

  25. Εφαρμογές του αλγόριθμου. Κλιμάκωση Εικόνας Σμίκρυνση κατά 2,5 ή 250%

  26. Εφαρμογές του αλγόριθμου. Κλιμάκωση Εικόνας Μεγέθυνση έγχρωμης εικόνας κατά 1,5 ή 150%

  27. Εφαρμογές του αλγόριθμου. Κλιμάκωση Εικόνας Σμίκρυνση έγχρωμης εικόνας κατά 2,5 ή 250%

  28. Εφαρμογές του αλγόριθμου. Κλιμάκωση Εικόνας Μεγέθυνση τμήματος έγχρωμης εικόνας κατά ένα μεγάλο παράγοντα 15 ή 1500%

  29. Συγκριτικά Αποτελέσματα ( Βenchmarks ) Κλιμάκωση Εικόνας RMSE Συγκριτικά Αποτελέσματα - Συμπεράσματα Η διαδικασία που ακολουθείται είναι η εξής: Στην αρχή μία εικόνα μεγεθύνεται κατά ένα παράγοντα και στην συνέχεια η μεγενθημένη εικόνα σμικρύνεται κατά τον ίδιο παράγοντα. Έχουμε δηλαδή δύο εικόνες μία την αρχική και μία σε διαστάσεις της αρχικής στην οποία όμως έχει εφαρμοστεί δύο φορές ο εκάστοτε αλγόριθμος Το RMSE ορίζεται με την παρακάτω σχέση

  30. Συγκριτικά Αποτελέσματα - Συμπεράσματα Κλιμάκωση Εικόνας RMSE Συγκριτικά Αποτελέσματα - Συμπεράσματα

  31. Συγκριτικά Αποτελέσματα - Συμπεράσματα Κλιμάκωση Εικόνας Απόκριση κατωφλίου και συχνότητας Συγκριτικά Αποτελέσματα - Συμπεράσματα Στο συγκριτικό αυτό test έχουμε μία εικόνα της οποίας το ένα τμήμα αποτελείται από φωτεινότητα της τάξεως του 225, ενώ το άλλο της τάξεως του 25. Με μεγέθυνση της εικόνας κατά ένα παράγοντα, π.χ. 3, παρατηρούμε τα αποτελέσματα και την τυχών παραμόρφωση της εικόνας. Έτσι έχουμε : bicubic interpolation bilinear interpolation Ο δικός μας αλγόριθμος

  32. Συγκριτικά Αποτελέσματα - Συμπεράσματα Κλιμάκωση Εικόνας Απόκριση κατωφλίου και συχνότητας Συγκριτικά Αποτελέσματα - Συμπεράσματα

  33. Συγκριτικά Αποτελέσματα - Συμπεράσματα Κλιμάκωση Εικόνας Οπτικά Αποτελέσματα Συγκριτικά Αποτελέσματα - Συμπεράσματα Winscale Interpolation Nearest Neighbour Interpolation Proposed Interpolation Bicubic Interpolation (Υλοποίησητου Matlab ) Bilinear Interpolation

  34. Υλοποίηση σε υλικό (H/W) του Αλγόριθμου. Κλιμάκωση Εικόνας Η υλοποίηση και προσομοίωση του αλγόριθμου έγινε με τη χρήση του προγράμματος Quartus II της Altera. Το πακέτο αυτό παρέχει μία πλήρη πλατφόρμα περιβάλλοντος το οποίο προσαρμόζεται εύκολα στις απαιτήσεις του σχεδιασμού. Παρέχει λύσεις για όλα τα στάδια της υλοποίησης σε FPGA. Υλοποίηση του Μοντέλου

  35. Κλιμάκωση Εικόνας Κάθε υλοποίηση έχει ξεχωριστό τρόπο ανάπτυξης και σχεδιασμού ανάλογα με τις απαιτήσεις και τις ιδιαιτερότητες του αλγορίθμου. Οι ιδιαιτερότητες στον δικό μας αλγόριθμο είναι πολύ σοβαρές και πολύπλοκες. Μία ιδιαιτερότητα είναι ότι ο όλος επεξεργαστής πρέπει να λειτουργεί σε υψηλές συχνότητες λόγω του ότι είναι πολύ πιθανό να έχει εφαρμογή σε real time εφαρμογές και μηχανές. Ο περιορισμός αυτός είναι ένας από τους σημαντικότερους και δυσκολότερους για να επιτευχθεί. Μία άλλη πολύ σημαντική δυσκολία είναι ότι ο επεξεργαστής θα δέχεται, θα επεξεργάζεται και θα δίνει αποτελέσματα σε δεκαδικούς αριθμούς. Όλες οι πράξεις είναι floating point οι οποίες είναι η ουσία του αλγόριθμου όχι μόνο για την ακρίβεια των αποτελεσμάτων αλλά και γιατί οι μάσκες που χρησιμοποιούνται και τα εμβαδά που συνυπολογίζονται είναι μικρότερα της μονάδος. Υλοποίηση του Μοντέλου

  36. Το Πρόβλημα του Χρόνου Κλιμάκωση Εικόνας Η απαίτηση για χρήση και σε real time εφαρμογές και συστήματα κάνουν επιτακτική την γρήγορη χρονική απόκριση. Για παράδειγμα για μία εικόνα 100x100 σε μεγέθυνση κατά 200% πρέπει να υπολογιστούν (100x2) x (100x2) = 40.000 εικονοστοιχεία. Η τελική εικόνα θα εμφανιστεί στην οθόνη του συστήματος αφότου υπολογιστούν όλα τα pixel. Ο χρόνος τελικά θα υπολογίζεται από τον συνολικό αριθμό των pixel προς υπολογισμό πολλαπλασιασμένο με την καθυστέρηση του επεξεργαστή για τον υπολογισμό ενός pixel. Υλοποίηση του Μοντέλου Η χρήση ενός ενιαίου ρολογιού σε όλα τα επιμέρους μέρη του επεξεργαστή είναι απαραίτητη προϋπόθεση για έλεγχο και βελτίωση αυτού του χρόνου. Επίσης έγινε προσπάθεια για την χρήση όσο το δυνατόν λιγότερων και απλούστερων δομικών στοιχείων και έγινε όπου ήταν δυνατόν αποφυγή μεγάλων block συναρτήσεων

  37. Το Πρόβλημα του Χρόνου Κλιμάκωση Εικόνας Μεγάλη δυσκολία υπήρξε στην διαίρεση η οποία υπάρχει στον αλγόριθμό μας, η οποία διαίρεση δεν μπορεί να αποφευχθεί με τίποτα, αφού παίζει πολύ σημαντικό ρόλο στην ιδιαιτερότητα και στα καλά χαρακτηριστικά της μεθόδου αυτής. Η λύση που δόθηκε, μετά από πολλές ανθρωποώρες μελέτης και δοκιμών, είναι η επαναληπτική μέθοδος Newton-Raphson. Υλοποίηση του Μοντέλου Η διαίρεση που περιγράφτηκε πριν αντιμετωπίζεται με την παρακάτω διαδικασία. Έστω ότι έχουμε να κάνουμε την διαίρεση , η διαίρεση μπορεί να γίνει πολλαπλασιασμός του Α με τον αντίστροφο του Β δηλαδή . Φυσικά, το , δεν παύει να είναι μία διαίρεση. Η εύρεση όμως αυτού του αντιστρόφου ο οποίος στη μέθοδό μας αντιπροσωπεύει το εμβαδόν της μάσκας μας, είναι ένας σταθερός αριθμός σε όλο τον αλγόριθμο και μπορεί να υπολογιστεί από την αρχή.

  38. Το Πρόβλημα του Χρόνου Κλιμάκωση Εικόνας Υλοποίηση του Μοντέλου Έτσι ο αλγόριθμος για να υπολογίσουμε το είναι : όπου Χ1 η αρχική προσεγγιστική τιμή. Και συνεχίζουμε μέχρι την επιθυμητή προσέγγιση που θέλουμε να φτάσουμε

  39. Το Πρόβλημα των Δεκαδικών Αριθμών Κλιμάκωση Εικόνας Η λύση που δόθηκε είναι η χρήση του προτύπου fixed-point. Με βάση το πρότυπο αυτό θεωρούμε από την αρχή έναν συγκεκριμένο αριθμό bit και σε αυτόν υποθέτουμε μία φανταστική υποδιαστολή. Με αυτόν τον τρόπο το ένα μέρος το μεταχειριζόμαστε ως ακέραιο και το άλλο ως δεκαδικό. Το πρότυπο αυτό μας δίνει εμάς τη δυνατότητα να χρησιμοποιήσουμε όσα bit θέλουμε για το δεκαδικό και το ακέραιο μέρος του αριθμού μας. Υλοποίηση του Μοντέλου Το παραπάνω σχήμα μας δείχνει έναν αριθμό fixed point όπου S το bit του πρόσημου, Ν τα bit του ακέραιου μέρους και Μ τα bit του φανταστικού μέρους. Το πρότυπο προσαρμόστηκε στις δικές μας απαιτήσεις και έτσι αφαιρέθηκε το bit του πρόσημου, αφού οι αριθμοί που έχουμε είναι όλοι θετικοί. Επίσης επειδή το ακέραιο μέρος εκφράζει φωτεινότητα τη κλίμακας 0 έως 255, 8 bit είναι αρκετά για την απεικόνιση του ακέραιου μέρους, τέλος για πολύ καλή ακρίβεια του δεκαδικού μέρους χρησιμοποιήσαμε 23 bit. Άρα συνολικά τα bit των αριθμών μας είναι 31

  40. Υλοποίηση του μοντέλου Κλιμάκωση Εικόνας Υλοποίηση του Μοντέλου Το λειτουργικό block διάγραμμα

  41. Υλοποίηση του μοντέλου Κλιμάκωση Εικόνας Υλοποίηση του Μοντέλου

  42. Χρονική Απόκριση του Επεξεργαστή Κλιμάκωση Εικόνας Το κύκλωμα είναι fully pipelined και η συχνότητα του clock μετά την προσομοίωση είναι στα 55.89 Mhz. Αυτό σημαίνει ότι μόλις «γεμίσει» το pipeline του επεξεργαστή θα έχουμε αποτέλεσμα κάθε 17.893 nsec. Έτσι για μία εικόνα 120x160 κατά ένα παράγοντα 2 θα πρέπει να υπολογιστούν 76800 pixel. Με 17.893 nsec για ένα pixel έχουμε τελικό χρόνο 1.37msec, αν η εικόνα είναι έγχρωμη 4.12 msec. Xρόνος πολύ καλός και για real time εφαρμογές και συστήματααφού μας δίνει συχνότητα 242Hz δηλαδή 242 fps. Υλοποίηση του Μοντέλου

  43. Φυσική τοποθέτηση (floorplaning) του Επεξεργαστή Κλιμάκωση Εικόνας Η διαδικασία της φυσικής τοποθέτησης είναι πλήρως αυτοματοποιημένη από το πρόγραμμα με πολύ λίγες δυνατότητες επέμβασης. Έτσι επιλέχθηκε το chip EP2A40F672C7 της οικογένειας APEX II με χρησιμοποιούμενα 179 από τα 492 διαθέσιμα pins. Υλοποίηση του Μοντέλου

  44. Προσομοίωση Κλιμάκωση Εικόνας Το τελευταίο στάδιο το οποίο είναι πάρα πολύ σημαντικό είναι η προσομοίωση. Σε αυτό το στάδιο πραγματοποιείται ο συνολικός έλεγχος για να διαπιστωθεί αν το κύκλωμα δουλεύει όπως έχει σχεδιαστεί και βγάζει τα αναμενόμενα αποτελέσματα. Οι τιμές που προέκυψαν ήταν οι αναμενόμενες γεγονός που αποδεικνύει ότι η υλοποίηση έγινε σωστά. Η κυματομορφή που ακολουθεί αποδεικνύει το παραπάνω Υλοποίηση του Μοντέλου Τα αρχικά Pixel έχουν τιμές 128, 64, 64, 32 με εμβαδόν μάσκας 0,8125 και αρχικά εμβαδά των pixel που καταλαμβάνει η μάσκα 0,5 , 0,125, 0,125, 0,0625 αντίστοιχα. Η τελική τιμή του output pixel είναι όπως παρατηρούμε 01110001.10011001100001001100000. Τα 8 πρώτα μας δίνουν την τιμή 112 και τα υπόλοιπα το δεκαδικό το οποίο είναι 0,5995. Άρα η τελική τιμή του pixel είναι 112,5995 και με ενδεχόμενο κβαντισμό 113.

More Related