ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Συµπληρωµατικές Σηµειώσεις Προχωρηµένο Επίπεδο Επεξεργασίας Εικόνας Σύνθεση Οπτικού Μωσαϊκού ρ. Γ. Χ. Καρράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Μηχανολόγων Μηχανικών Τοµέας Μηχανολογικών Κατασκευών και Αυτοµάτου Ελέγχου Εργαστήριο Αυτοµάτου Ελέγχου και Ρυθµίσεως Μηχανών και Εγκαταστάσεων 1 Ιουλίου 2012
1 Εισαγωγή Αντικείµενο των σηµειώσεων αυτών είναι η εισαγωγή στις έννοιες και την υλοποίηση αλγορίθµων για την δηµιουργία οπτικών µωσαϊκών στα πλαίσια εϕαρµογών Τεχνητής Ορασης. Απώτερος σκοπός των αλγορίθµων και µεθοδολογιών που περιγράϕονται, είναι η ενσωµάτωση κάθε νέας οπτικής πληροϕορίας που προκύπτει κατά την εξέλιξη οποιασδήποτε διαδικασίας που σχετίζεται µε χρήση µίας ή και περισσότερων αναλογικών ή ψηϕιακών καµερών. Η δηµιουργία µωσαϊκού από ψηϕιακές εικόνες, αποτελεί µία ειδικότερη εϕαρµογή της γενικότερης µεθοδολογίας (image warping). Αρχικά, δίνεται µία εισαγωγή στην µεθοδολογία image warping, ενώ στην συνέχεια περιγράϕεται η διαδικασία κατασκευής του ψηϕιακού µωσαϊκού (image mosaicing), όπου διαδοχικές εικόνες συνθέτονται µεταξύ τους για την δηµιουργία µίας εικόνας µεγαλύτερης ανάλυσης (πανόραµα). 2 Μεθοδολογία Image Warping Σκοπός της τεχνικής image warping είναι ο µετασχηµατισµός της χωρικής σύνθεσης της εικόνας από το σύστηµα στο οποίο έγινε η λήψη της σε ένα άλλο. Με ϐάση τον ορισµό αυτό µπορεί να ϑεωρήσει κανείς, πως ακόµα και µία απλή µετατόπιση της εικόνας για µερικά pixels π.χ κατά τον οριζόντιο x άξονά της, ϑεωρείται στρέβλωση (warp). Ο µετασχηµατισµός αυτός απεικονίζεται µαθηµατικά µε την ακόλουθη διανυσµατική συνάρτηση : I= f (I ), f : R 2 R 2 (1) όπου I και I οι πίνακες που περιέχουν τις φωτεινότητες της εικόνας πριν και µετά τον µετασχηµατισµό. Στα πλαίσια του µαθήµατος Βιοµηχανικών Ηλεκτρονικών, γίνεται ανάλυση της µεθοδολογίας Euclidean Warp. Παρότι υπάρχουν και άλλες µεθοδολογίες διαθέσιµες στην ϐιβλιογραϕία, η απλότητα της Euclidean warp σε συνδυασµό µε την απόδοσή της, είναι και οι κύριοι λόγοι που οδήγησαν στην επιλογή και την διδασκαλία της. Στην τεχνική Euclidean Warp εµπλέκονται τέσσερις ϐασικές παράµετροι : p = [ s a t x t y ] T (2) που υποδηλώνουν την κλίµακα, την περιστροϕή γύρω από τον άξονα της κάµερας και την µεταϕορά κατά τους άξονες της εικόνας. Εστω το σηµείο x = [ x y 1 ] T στο επίπεδο της εικόνας I και έστω x = [ x y 1 ] T η αντίστοιχη ϑέση του στην µετασχηµατισµένη εικόνα I (χρησιµοποιώντας
και στις δύο περιπτώσεις οµογενείς συντεταγµένες). Λαµβάνοντας υπόψιν µόνο ένα pixel, η εξίσωση 1 µπορεί να γραϕεί ως ένας απλός γραµµικός µετασχηµατισµός, όπου T ο πίνακας µετασχηµατισµού : x y 1 = x = Tx (3) x y (4) 1 s cos α s sin α t x s sin α s cos α t y 0 0 1 Παρατηρούµε πως αντί για τον µετασχηµατισµό ενός µόνο σηµείου, είναι δυνατόν να µετασχηµατίσουµε ολόκληρη την εικόνα που αποτελείται από n σηµεία, απλά αντικαθιστώντας το διάνυσµα x µε : X = x 1 x n y 1 y n 1 1 (5) Κατά συνέπεια η εξίσωση 3 µετατρέπεται στην ακόλουθη µορϕή : X = TX (6) Στην συνέχεια εϕαρµόζεται παρεµβολή (συνήθως γραµµική) των τιµών του πίνακα φωτεινότητας της εικόνας εισόδου I µε τις τιµές ϑέσης των pixels του πίνακα X. 3 Υλοποίηση ψηϕιακού οπτικού µωσαϊκού Χαρακτηριστική εϕαρµογή της τεχνικής image warping, είναι η σύνθεση πολλών εικόνων σε ένα ολοκληρωµένο µωσαϊκό για την δηµιουργία πανοραµικής όψεως. Αντίστοιχη τεχνική διδάσκεται και στα πλαίσια του µαθήµατος κάνοντας χρήση της µεθοδολογίας Euclidean warp. Στην περίπτωσή µας (όπως και σχεδόν σε όλες τις περιπτώσεις κατασκευής µωσαϊκού), ο µετασχηµατισµός µεταξύ των εικόνων δεν είναι γνωστός από την αρχή και κατά συνέπεια πρέπει να υπολογιστεί κάθε φορά που γίνεται λήψη µίας νέας εικόνας. Υπάρχουν δύο ξεχωριστές µεθοδολογίες για τον υπολογισµό του πίνακα µετασχηµατισµού T µεταξύ δύο εικόνων. Στην πρώτη, λαµβάνεται υπόψιν η σχετική κίνηση των pixels ολόκληρης της εικόνας χρησιµοποιώντας γνωστές από την ϐιβλιογραϕία Optical Flow τεχνικές. Στην δεύτερη, λαµβάνεται υπόψιν η σχετική κίνηση µόνο των pixels που αντιστοιχούν σε συγκεκριµένα χαρακτηριστικά (features) της εικόνας. Στα πλαίσια του µαθήµατος ακολουθείται η δεύτερη µεθοδολογία. 2
Σχήµα 1: Εικόνα 1 Για τον υπολογισµό του µετασχηµατισµού, η εξίσωση 3 αναδιαµορϕώνεται ως εξής : x = Zp (7) x y 1 = x y 1 0 0 y x 0 1 0 0 0 0 0 1 s cos α s sin α t x t y 1 (8) εάν υπάρχει ένα διαθέσιµο σηµείο, ενώ για n σηµεία : [ X(1, :) T X(2, :) T ] = X (1, :) T X (2, :) T ones(n,1) zeros(n,1) X (2, :) T X (1, :) T zeros(n,1) ones(n,1) s cos α s sin α t x (9) Οπως φαίνεται από τις παραπάνω εξισώσεις απαιτούνται τουλάχιστον δύο σηµεία για τον προσδιορισµό των τεσσάρων παραµέτρων µετασχηµατισµού, χρησιµοποιώντας την µέθοδο των Ελαχίστων Τετραγώνων. Κατά την διδασκαλία του µαθήµατος, τα δύο σηµεία επιλέγονται από τον χρήστη µε το ποντίκι του υπολογιστή. t y 3
Σχήµα 2: Εικόνα 2 Σχήµα 3: Η εικόνα 2 µετασχηµατισµένη ως προς την 1 4
Σχήµα 4: Το µωσαϊκό µεταξύ των εικόνων 1 και 2 Στα Σχήµατα 1 και 2 παρατηρούµε δύο διαδοχικές εικόνες που προκύπτουν κατά την κίνηση ενός υποβρυχίου οχήµατος γύρω από ένα στόχο, µέσω ηµι-αυτόνοµου σχήµατος ελέγχου. Στο Σχήµα 3 φαίνεται ο µετασχηµατισµός (image warping) της εικόνας 2 ως προς την 1, ενώ στο Σχήµα 4 φαίνεται το µωσαϊκό που προκύπτει από την σύνθεση των δύο εικόνων. Παρακάτω περιγράϕονται αναλυτικά τα ϐήµατα του αλγορίθµου για την κατασκευή του οπτικού µωσαϊκού για n διαδοχικές εικόνες : 1. Λήψη της εικόνας I 0 2. Υπολογισµός των χαρακτηριστικών σηµείων της εικόνας, εϕαρµόζοντας κάποιον αλγόριθµο για Feature Tracking ή διαδραστικά από τον χρήστη µέσω του ποντικιού 3. Λήψη της εικόνας I 1 4. Υπολογισµός της νέας ϑέσης των χαρακτηριστικών σηµείων της εικόνας 5. Υπολογισµός του διανύσµατος p = [ s a t x t y ] T, επιλύοντας την Εξίσωση 9 εϕαρµόζοντας την τεχνική των Ελαχίστων Τετραγώνων 5
6. ιαµόρϕωση του πίνακα T που περιγράϕει τον µετασχηµατισµό της εικόνας I 1 ως προς την I 0, χρησιµοποιώντας τα στοιχεία του διανύσµατος p 7. Μετασχηµατισµός της εικόνας I 1 ως προς την I 0 και εύρεση των νέων ορίων αυτής 8. Επικόλληση της εικόνας I 0 στην µετασχηµατισµένη εικόνα I 0 και δηµιουργία του µωσαϊκού M 0 9. Επικόλληση της εικόνας M 0 στην εικόνα I p όπου ϑα φιλοξενεί το πανόραµα 10. Λήψη της εικόνας I 2 11. Επανάληψη των ϐηµάτων 4 7 µεταξύ των εικόνων I 0 και I 2 για την δηµιουργία του µωσαϊκού M 1 12. Επικόλληση της εικόνας M 1 στην εικόνα I p όπου τα κοινά σηµεία επικαλύπτονται και προστίθεται κάθε νέα πληροϕορία 13. Η διαδικασία επαναλαµβάνεται για κάθε νέα εικόνα 6
ΠΑΡΑΔΕΙΓΜΑ Δίνεται μονόχρωμη (grayscale) κάμερα με ανάλυση 480x720 pixels (γραμμές, στήλες). Η κάμερα βρίσκεται τοποθετημένη σε κατάλληλο μηχανισμό που της επιτρέπει να μετακινηθεί ελεύθερα στο χώρο. Τη χρονική στιγμή t γίνεται λήψη της εικόνας Ι. Στην εικόνα Ι εντοπίζονται δύο χαρακτηριστικά σημεία P 1 και P 2 με συντεταγμένες στο πεδίο της εικόνας P 1 (x 1,y 1 ) = (650, 110) και P 2 (x 2,y 2 )= (545, 375) αντίστοιχα. Την χρονική στιγμή t και ενώ η κάμερα έχει μετακινηθεί, λαμβάνεται νέα εικόνα Ι όπου τώρα τα προηγούμενα χαρακτηριστικά σημεία βρίσκονται σε νέες θέσεις P 1 και P 2 με συντεταγμένες P 1 (x 1,y 1 ) = (111, 110) και P 2 (x 2,y 2 ) = (195, 375) αντίστοιχα. Ζητείται: A) Σύμφωνα με την μέθοδο Euclidean Warp, να βρεθεί ο πίνακας Z και το διάνυσμα των παραμέτρων p= [ scos a ssin a t t ] T που περιγράφει τον μετασχηματισμό της εικόνας Ι ως προς την Ι ( sη κλίμακα, aη γωνία περιστροφής γύρω από τον άξονα της κάμερας και t, t η μεταφορά κατά τους xκαι yάξονες της εικόνας αντίστοιχα). Δίνεται ο αντίστροφος του πίνακα Ζ: -1 Z -0.0011 0.0011-0.0034 0.0034-0.0034 0.0034 0.0011-0.0011 = 1.4978-0.4978 0.2611-0.2611-0.2611 0.2611 1.4978-0.4978 B) Να υπολογιστούν οι διαστάσεις (γραμμές, στήλες σε pixels) της νέας εικόνας που θα προκύψει από τον μετασχηματισμό της εικόνας Ι ως προς την Ι. x x y y
ΛΥΣΗ: ΕΡΩΤΗΜΑ Α: x1 x2 Έστω X = y1 y ο πίνακας που περιέχει τις συντεταγμένες των σημείων στην 2 ' ' ' x1 x 2 εικόνα Ι και X = ' ' ο πίνακας που περιέχει τις συντεταγμένες των ίδιων y1 y2 σημείων στην εικόνα Ι. Για n κοινά σημεία, ο πίνακας Ζ, δίνεται από την σχέση: ' Τ ' Τ X (1,:) X (2,:) ones( n,1) zeros( n,1) Z= ' Τ ' Τ X (2,:) X (1,:) zeros( n,1) ones( n,1) Οπότε για n=2, ο πίνακας Ζ γίνεται: ' ' x1 y1 1 0 ' ' x2 y2 1 0 Z = ' ' y1 x1 0 1 ' ' y2 x2 0 1 Αντικαθιστώντας: 111 110 1 0 195 375 1 0 Z = 110 111 0 1 375 195 0 1 Ο αντίστροφος του πίνακα Z δίνεται από την εκφώνηση: -1 Z -0.0011 0.0011-0.0034 0.0034-0.0034 0.0034 0.0011-0.0011 = 1.4978-0.4978 0.2611-0.2611-0.2611 0.2611 1.4978-0.4978
Για την εύρεση του διανύσματος p λύνουμε το σύστημα: Αναλυτικά: T -1 [ X(1,:) X(2,:) ] = Zp p = Z [ X(1,:) X(2,:) ] -0.0011 0.0011-0.0034 0.0034 x -0.0034 0.0034 0.0011-0.0011 p= 1.4978-0.4978 0.2611-0.2611-0.2611 0.2611 1.4978-0.4978 1 x 2 y 1 y2 T -0.0011 0.0011-0.0034 0.0034650-0.0034 0.0034 0.0011-0. 0011 545 p= 1.4978-0.4978 0.2611-0.2611110-0.2611 0.2611 1.4978-0.4978 375 0.7946 s cos a -0.6481 s sin a p= = 633.0928 tx -49.3404 t y ΕΡΩΤΗΜΑ Β: Ο πίνακας μετασχηματισμού Τ δίνεται από την εξίσωση: s cos a ssin a tx T = s sin a s cos a t y 0 0 1 Αν 1 1 720 720 CO = 1 480 1 480 ο πίνακας που περιέχει τα όρια της εικόνας ως προς 1 1 1 1 το σύστημα συντεταγμένων που έγινε η λήψη, τότε τα όρια της νέας εικόνας που προκύπτει από τον μετασχηματισμό της εικόνας Ι ως προς την εικόνας Ι, θα είναι:
scos a ssin a tx1 1 720 720 CΝ= ssin a s cos a t 1 480 1 480 y 0 0 1 1 1 1 1 0.7946 0.6481 633.09281 1 720 720 CΝ= 0.6481 0.7946 49.3404 1 480 1 480 0 0 1 1 1 1 1 633.2 322.8 1204.5 894.1 CΝ= 47.9 332.7 418.1 798.7 1 1 1 1 Η νέα διάσταση της εικόνας δίνεται σύμφωνα με τον ακόλουθο συλλογισμό: XPR = min( [ CΝ(1,:) 0 ] ) : max( [CN(1,:) W_OLD] ) YPR = min( [ CΝ(2,:) 0 ] ) : max( [CN(2,:) H_OLD] ) W_NEW = size (XPR,2) H_NEW = size(ypr,2) Όπου W_OLD = 720 και H_OLD = 480. Άρα η νέα διάσταση της μετασχηματισμένης εικόνας θα είναι: W_NEW = 1205...(1205-0) H_NEW = 847...(799-(-48)) Ύστερα από στρογγυλοποίηση σε ακέραιους αριθμούς.