ΕΥΡΕΣΗ ΤΟΥ ΔΙΑΝΥΣΜΑΤΟΣ ΘΕΣΗΣ ΚΙΝΟΥΜΕΝΟΥ ΡΟΜΠΟΤ ΜΕ ΜΟΝΟΦΘΑΛΜΟ ΣΥΣΤΗΜΑ ΟΡΑΣΗΣ Νικόλαος Κυριακούλης *, Ευάγγελος Καρακάσης, Αντώνιος Γαστεράτος, Δημήτριος Κουλουριώτης, Σπυρίδων Γ. Μουρούτσος Δημοκρίτειο Πανεπιστήμιο Θράκης, Πανεπιστημιούπολη, Κιμμέρια, 671 00 Ξάνθη, * nkyriako@pme.duth.gr ΠΕΡΙΛΗΨΗ Ένα σημαντικό πρόβλημα στις περισσότερες ρομποτικές εφαρμογές είναι η εύρεση της θέσης του ρομπότ. Πολλοί ερευνητές εστιάζουν στην εύρεση του διανύσματος θέσης με αισθητήρια αδράνειας και με άλλα αισθητήρια προσέγγισης. Τα τελευταία χρόνια, έχουν αναφερθεί συστήματα και αλγόριθμοι όπου υπολογίζεται η θέση μιας κάμερας από την αναγνώριση ενός γνωστού αντικειμένου. Στο παρόν άρθρο, η εύρεση του διανύσματος θέσης ενός αντικειμένου σε σχέση με μια κάμερα επιτυγχάνεται από την αναγνώριση του αντικειμένου στο επίπεδο της εικόνας και την προβολή του στον τρισδιάστατο χώρο. Η προβολή αυτή επιτυγχάνεται χρησιμοποιώντας τον πίνακα βαθμονόμησης της κάμερας και ομογραφίες. Λέξεις κλειδιά: Διάνυσμα θέσης, Ομογραφίες, Πίνακας βαθμονόμησης, Αναλυτική Γεωμετρία 1 ΕΙΣΑΓΩΓΗ Η εύρεση του διανύσματος θέσης είναι ένα ενεργό πεδίο έρευνας. Το πρόβλημα εύρεσης του διανύσματος θέσης εμφανίζεται σε διάφορες τεχνολογικές εφαρμογές, όπως η φωτομετρία, η ρομποτική, τα γραφικά υπολογιστών και η υπολογιστική όραση. Η σχέση μεταξύ των εικόνων με ένα αντικείμενο γνωστής γεωμετρίας ορίζεται από έναν γεωμετρικό μετασχηματισμό. Τα δεδομένα που απαιτούνται για την εύρεση του διανύσματος θέσης λαμβάνονται από τις αντιστοιχίες ενός 3Δ (τρισδιάστατου) σημείου του αντικειμένου, προβαλλόμενου στο 2Δ (δισδιάστατο) πεδίο της εικόνας (Lu, 2000). Η εκτίμηση του διανύσματος θέσης βασίζεται στην προβολή του 3Δ αντικειμένου στο επίπεδο της εικόνας. Η γεωμετρία της προοπτικής προβολής, η οποία περιγράφει το μοντέλο της κάμερας όπως φαίνεται στο Σχήμα 1, βασίζεται στη θεωρία των ομοίων τριγώνων. Το πρόβλημα εύρεσης του διανύσματος θέσης έχει προσεγγισθεί με γεωμετρικές προβολές (Aloimonos, 1990, Poelman 1997, Horaud, 1997). Οι παράλληλες γραμμές του πραγματικού κόσμου, στο επίπεδο της εικόνας τέμνονται σε ένα σημείο, το οποίο αποκαλείται σημείο προοπτικής (Gallagher, 2002). Σε μια εικόνα μπορεί να υπάρχουν παραπάνω από ένα τέτοια σημεία. Η αναγνώριση αυτών των σημείων μπορεί να δώσει τον πίνακα περιστροφής της κάμερας (Gallagher, 2005) και τον απόλυτο προσανατολισμό ενός αντικειμένου (Segvic, 2001). Πέρα όμως από τις αμιγώς γεωμετρικές προσεγγίσεις, το πρόβλημα αναγνώρισης του διανύσματος θέσης έχει μετατραπεί στην (Lu, 2000) σε ένα πρόβλημα ελαχιστοποίησης του σφάλματος συγγραμμικότητας μεταξύ αντικειμένου και χώρου. Το διάνυσμα θέσης μπορεί να εκτιμηθεί από μία ομάδα αλγορίθμων, που υπολογίζουν n
σημεία ή n γραμμές, γραμμικοποιώντας τα αποτελέσματά τους σε συστήματα δευτέρου βαθμού (Ansar, 2003). Ένας γνωστός χωρικός στόχος έχει χρησιμοποιηθεί για την αναγνώριση του διανύσματος της κάμερας με τον εντοπισμό γωνιών σε υποεικονοστοιχεία της εικόνας (Chandraker, 2003). Επιπροσθέτως, για την απόκτηση των εσωτερικών και εξωτερικών παραμέτρων της κάμερας έχουν χρησιμοποιηθεί γεωμετρικοί περιορισμοί στην αναγνώριση ενός γνωστού γεωμετρικού μοτίβου. Αυτή η μέθοδος χρησιμοποιείται για την βαθμονόμηση καμερών και την εξαγωγή τρισδιάστατου μοντέλου (Wilczkowiak, 2005). Όλες οι εφαρμογές υπολογισμού του διανύσματος θέσης εμπεριέχουν μεγάλο ποσοστό σφάλματος στον τελικό πίνακα μετασχηματισμού. Η ελάττωση αυτών των σφαλμάτων βελτιώνει την ακρίβεια του τελικού διανύσματος θέσης όπως φαίνεται στην (Xu, 2007). Σχήμα 1. Προοπτική προβολή Στο παρόν άρθρο, παρουσιάζεται ένα μονόφθαλμο σύστημα όρασης, το οποίο αναγνωρίζει το διάνυσμα θέσης του από ένα γνωστό επίπεδο στόχο, σε πραγματικό χρόνο. Η προσέγγιση του προβλήματος βασίζεται στην εξαγωγή των γεωμετρικών σχέσεων χώρου-εικόνας με τη μορφή πινάκων. Οι πίνακες αυτοί ονομάζονται ομογραφίες και αποτελούν το κλειδί για την επίλυση μη γραμμικών προβλημάτων (Lingrand, 2000). Η χρήση ομογενών πινάκων, προσεγγίζει γραμμικά ένα μη γραμμικό πρόβλημα. Τα βήματα που ακολουθούνται είναι τα εξής: αρχικά εξάγεται ο πίνακας βαθμονόμησης. Στη συνέχεια αναγνωρίζονται μέσα στην εικόνα τα χαρακτηριστικά του στόχου. Στο σημείο αυτό εξετάζεται αν τα σημεία είναι συγγραμμικά μεταξύ τους, αν είναι ομοεπίπεδα και πόσα σημεία προοπτικής έχουν μεταξύ τους. Έχοντας τον πίνακα των εσωτερικών παραμέτρων της κάμερας και τα χαρακτηριστικά του στόχου στην εικόνα, μπορεί να επιτευχθεί η αντίστροφη προβολή, από την εικόνα στο χώρο. Η προβολή γίνεται με τη χρήση ομογενών πινάκων, καθώς επίσης και με τη χρήση ομογραφιών. Το προτεινόμενο σύστημα θα χρησιμοποιηθεί σε ερευνητικό πρόγραμμα όπου παρακολουθεί μία αιωρούμενη ρομποτική πλατφόρμα με μία κάμερα. 2 ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ 2.1 ΜΟΝΤΕΛΟ ΚΑΜΕΡΑΣ Το μοντέλο της κάμερας, γνωστό ως Pihnole Camera Model, είναι η σχηματική αναπαράσταση μιας κάμερας ως ένα σημείο του χώρου (Σχήμα 1). Η σχέση μεταξύ του πεδίου της εικόνας με αυτό της κάμερας ορίζεται ως ένας πίνακας μετασχηματισμού. Ο πίνακας αυτός είναι ο πίνακας των εσωτερικών παραμέτρων της κάμερας, που προκύπτει μετά από τη βαθμονόμησή της. Οι εσωτερικοί παράμετροι είναι η εστιακή απόσταση f, το πάχος p y και το μήκος p x του εικονοστοιχείου, η κλίση του εικονοστοιχείου a, οι συντεταγμένες του κεντρικού σημείου της εικόνας (c x, c y ) και
τέλος η παραμόρφωση του φακού k. Ο πίνακας μετασχηματισμού από την εικόνα στην κάμερα και το αντίστροφο δίνεται από την εξίσωση 1: / tan / 0 / (1) 0 0 1 Αν έχουμε ένα σημείο m=[x, y, z] στο επίπεδο της εικόνας, το οποίο αντιστοιχεί σε ένα σημείο του πραγματικού κόσμου M=[X, Y, Z] τότε ισχύει η εξίσωση 2: (2) όπου R είναι ο πίνακας περιστροφής και Τ είναι το διάνυσμα μεταφοράς. Ο τελικός πίνακας προβολής δίνεται από την εξίσωση 3: 2.2 ΒΑΘΜΟΝΟΜΗΣΗ ΚΑΜΕΡΑΣ (3) Οι παραπάνω σχέσεις ισχύουν στην ιδανική περίπτωση, όπου δεν εισάγεται παραμόρφωση στην εικόνα εξαιτίας του φακού. Στην πραγματικότητα όμως ο κάθε φακός, ανάλογα με τη γεωμετρία του, προσδίδει στην εικόνα ένα βαθμό παραμόρφωσης, που έχει ως αποτέλεσμα την αλλοίωση της πληροφορίας καθώς ευθύγραμμα τμήματα του πραγματικού κόσμου απεικονίζονται ως καμπυλόγραμμα. Η βαθμονόμηση των καμερών υπολογίζει την κύρτωση που εισάγει ο φακός στην εικόνα, κάνοντας εφικτή την εξάλειψή της. Στο Σχήμα 2 παρουσιάζονται δύο εικόνες, μία παραμορφωμένη και η διορθωμένη της. Η βαθμονόμηση βασίζεται σε γεωμετρικούς μετασχηματισμούς. Η εξαγωγή των εσωτερικών παραμέτρων της κάμερας υπολογίζεται από την προβολή ενός γνωστού γεωμετρικού μοτίβου. Σχήμα 2.Η διόρθωση των παραμορφωμένων εικόνων από τη βαθμονόμηση των καμερών: αριστερά η παραμορφωμένη εικόνα και δεξιά η διορθωμένη. 3 ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 3.1 ΠΕΙΡΑΜΑΤΙΚΗ ΤΟΠΟΘΕΤΗΣΗ Το σύστημα αποτελείται από μία Pointgrey Grasshopper κάμερα. Το μέγεθος του αισθητήρα είναι 2/3 και η μέγιστη ανάλυσή της είναι 1384 1036 στα 15 fps (εικόνες το δευτερόλεπτο). Η ανάλυση που επιλέχθηκε είναι 640 480, ώστε να είναι διαθέσιμες περισσότερες εικόνες σε κάθε χρονικό βήμα, συγκεκριμένα 30 fps. Όλοι οι αλγόριθμοι υλοποιήθηκαν σε περιβάλλον C#. Για την εύρεση των χαρακτηριστικών του
αντικειμένου υιοθετήθηκαν οι αλγόριθμοι της OpenCV (OpenCV), ενώ για την ανάκτηση των εικόνων από την κάμερα χρησιμοποιήθηκαν οι βιβλιοθήκες που συνόδευαν το προϊόν. Το ανιχνευόμενο αντικείμενο έχει γνωστή γεωμετρία, από όπου υπολογίζονται οι εξωτερικές παράμετροι της κάμερας, ο προσανατολισμός και η θέση του. Η αναγνώριση των χαρακτηριστικών του αντικειμένου στην εικόνα, σε συνδυασμό με τον πίνακα βαθμονόμησης και τη χρήση ομογραφιών μας δίνουν την προβολή του αντικειμένου από την εικόνα στο χώρο. Τα βήματα που ακολουθούνται είναι τα εξής: 1) αναγνώριση του αντικειμένου 2) εύρεση των χαρακτηριστικών του αντικειμένου 3) εξέταση των χαρακτηριστικών για το αν είναι συγγραμμικά και αν είναι ομοεπίπεδα 4) υπολογισμός του διανύσματος θέσης Η κάμερα του συστήματος λαμβάνει εικόνες, όπου ανιχνεύονται τα χαρακτηριστικά του αντικειμένου. Το αντικείμενο που χρησιμοποιήθηκε είναι επίπεδο και έχει ως γεωμετρικό μοτίβο μία σκακιέρα. Τα χαρακτηριστικά της σκακιέρας είναι οι γωνίες μεταξύ των τετραγώνων, τα οποία έχουν ακμή 3 cm. Ο αριθμός των τετραγώνων είναι γνωστός, και το σύστημα ψάχνει για γωνίες τετραγώνων με διαστάσεις 8 6, δηλαδή 48 γωνίες. Ο αλγόριθμος αναγνώρισης των αιχμών των γωνιών είναι του Harris (Harris, 1988), όπως έχει υλοποιηθεί στην OpenCV. Για να αναγνωριστεί το αντικείμενο θα πρέπει να βρεθούν και τα 48 σημεία. Σε περίπτωση που δεν βρεθεί ένα σημείο τότε το αντικείμενο δεν ανιχνεύεται και η διαδικασία συνεχίζεται έως ότου βρεθούν όλα τα σημεία (και τα 48). Στο Σχήμα 3 παρουσιάζονται δύο εικόνες, όπου στην πρώτη δεν ανιχνεύονται όλα τα σημεία, ενώ στη δεύτερη ανιχνεύονται. Σχήμα 3. Δύο ίδιες εικόνες όπου στη δεξιά ανιχνεύονται όλα τα σημεία και το σύστημα δεν υπολογίζει το διάνυσμα θέσης, ενώ η αριστερή εικόνα δείχνει την αναγνώριση όλων των χαρακτηριστικών. Έχοντας αναγνωρίσει τα χαρακτηριστικά του αντικειμένου, ο αλγόριθμος ελέγχει τη συγγραμμικότητά τους. Επιπλέον, γίνεται ένας έλεγχος για τον αν τα σημεία βρίσκονται στο ίδιο επίπεδο. Αν δεν ισχύει κανένας από τους παραπάνω ελέγχους τότε δεν μπορεί να υπολογιστεί το διάνυσμα θέσης. Συγκεκριμένα, τα διανύσματα που σχηματίζουν τα σημεία πολλαπλασιάζονται εσωτερικά για τον πρώτο έλεγχο και εξωτερικά για το δεύτερο. Ο προσανατολισμός του αντικειμένου βρίσκεται πολλαπλασιάζοντας εξωτερικά τα διανύσματα που προκύπτουν από το εξωτερικό γινόμενο των χαρακτηριστικών. Η χρήση των ομογραφιών και των ομογενών μετασχηματισμών, επιτρέπουν τη γραμμική λύση του προβλήματος. Ο μετασχηματισμός από το επίπεδο της εικόνας, στο επίπεδο του αντικειμένου δίνεται από έναν πίνακα, ο οποίος είναι το γινόμενο του πίνακα βαθμονόμησης K με των ομογραφιών H.
(4) Από τον τελικό πίνακα υπολογίζονται οι γωνίες του αντικειμένου γύρω από τους άξονες x, y και z, καθώς επίσης και οι μετατοπίσεις του πάνω σε αυτούς. 3.2 ΑΠΟΚΡΙΣΗ ΣΥΣΤΗΜΑΤΟΣ Οι μετρήσεις λήφθηκαν σε ένα PC με ταχύτητα 1.8 GΗz σε επεξεργαστή διπλού πυρήνα. Παρόλα αυτά, οι αλγόριθμοι τρέχουν στον ένα μόνο πυρήνα καταλαμβάνοντας το 15% της λειτουργίας του. Ο μέσος χρόνος απόκρισης του συστήματος, από τη στιγμή που θα λειτουργήσει η κάμερα μέχρι εκείνη που θα δώσει το διάνυσμα θέσης είναι 6,65 msec. Ο χρόνος ανάκτησης της εικόνας από την κάμερα 1,01 msec, ενώ εκείνος της επεξεργασίας εικόνας είναι 5,20. Η επεξεργασία της εικόνας αφορά στην εύρεση των γεωμετρικών χαρακτηριστικών. Η εύρεση του διανύσματος θέσης από τα χαρακτηριστικά της εικόνας διαρκεί μόνο 0,43 msec, καθώς η διαδικασία περιέχει μόνο μαθηματικούς υπολογισμούς με πίνακες. Η απόκριση του συστήματος είναι τέτοια, που μπορεί να χρησιμοποιηθεί και σε εφαρμογές με υψηλές απαιτήσεις πραγματικού χρόνου, αφού τα 6.65 msec επιτρέπουν στο σύστημα να επεξεργαστεί βίντεο με 100 fps. Παρόλο που η ταχύτητα του συστήματος του επιτρέπει να λειτουργεί σε εφαρμογές πραγματικού χρόνου, εμείς επιλέξαμε να γίνονται πιο πολλοί έλεγχοι κατά τη διάρκεια της επεξεργασίας της εικόνας. Ο νέος χρόνος απόκρισης του συστήματος αυξήθηκε περίπου στο διπλάσιο διαρκώντας 12.032 msec. Ωστόσο, οι νέες μετρήσεις του διανύσματος θέσης είναι πιο ακριβείς αφού είναι πιο ακριβής η αναγνώριση του αντικειμένου, από όπου και υπολογίζεται. Όλες οι μετρήσεις που λαμβάνονται με την κάμερα, ελέγχονται με ένα αισθητήριο αδράνειας (MTx Xsens), όπως φαίνεται στο Σχήμα 4. Δεδομένου ότι η ακρίβεια του αισθητηρίου είναι πολύ υψηλή, θεωρείται πως η κάθε μέτρηση είναι και η πραγματική. Έτσι το σφάλμα των μετρήσεων της κάμερας υπολογίστηκε αφαιρώντας τις μετρήσεις της κάμερας από αυτές του αισθητηρίου. Λόγω του ότι το αισθητήριο αποκρίνεται πολύ πιο γρήγορα από την κάμερα, όλες οι ενδείξεις του αποθηκεύονται χρονολογικά, και για κάθε χρονικό βήμα της κάμερας, λαμβάνεται το αντίστοιχο αποθηκευμένο του αισθητηρίου αδράνειας. Η ακρίβεια του προτεινόμενου συστήματος είναι ±0,2 μοίρες για τις περιστροφές και ± 2 mm για τις μετατοπίσεις. Σχήμα 4.Μετρήσεις με το προτεινόμενο σύστημα και με αισθητήριο αδράνειας για τον υπολογισμό του σφάλματος. 4 ΣΥΜΠΕΡΑΣΜΑΤΑ Στο άρθρο αυτό παρουσιάζεται ένα σύστημα εύρεσης του διανύσματος θέσης ενός αντικειμένου ως προς μια κάμερα. Τα χαρακτηριστικά του αντικειμένου ανιχνεύονται στην εικόνα και υπολογίζονται οι αποστάσεις τους πάνω σε αυτήν. Το αντικείμενο έχοντας χαρακτηριστικά με γνωστή γεωμετρία, σε συνδυασμό με τον
υπολογισμό τους στην εικόνα, μπορεί μαθηματικά να εξαχθεί ένας πίνακας μετασχηματισμού, ο οποίος δίνει τις γωνίες γύρω από τους άξονες x, y και z, καθώς επίσης και τις μετατοπίσεις πάνω σε αυτούς. Η χρήση της C# και της OpenCV καθιστούν το σύστημα ικανό να λειτουργήσει σε πραγματικό χρόνο. Η ταχύτατη απόκριση του συστήματος επιτρέπει τη χρησιμοποίησή του σε εφαρμογές πραγματικού χρόνου, ακόμα και με πολλές εικόνες το δευτερόλεπτο. Παρόλα αυτά η ακρίβεια των μετρήσεων αυξάνεται με καλύτερη αναγνώριση των χαρακτηριστικών του αντικειμένου και όχι με περισσότερες εικόνες. Έτσι το προτεινόμενο σύστημα ικανοποιεί τις απαιτήσεις του χρήστη τόσο για ταχύτητα, όσο και για ακρίβεια. Ο μελλοντικός στόχος για το προτεινόμενο σύστημα είναι η ολοκλήρωση του οπτικού αισθητηρίου με αυτό της αδράνειας. 5 ΒΙΒΛΙΟΓΡΑΦΙΑ Lu, C.-P., Hager, G., Mjolsness, E. (2000), Fast and Globally Convergent Pose Estimation from Video Images, IEEE Trans on Pattern Analysis and Machine Intelligence, vol. 22, no 6, pp. 610-622. Aloimonos, J. Y. (1990), Perspective Approximations, Image and Vision Computing, vol. 8, no 3, pp. 179-192. Poelman, C.J., and Kanade, T. (1997), A Paraperspective Factorization Method for Shape and Motion Recovery, IEEE Trans on Pattern Analysis and Machine Intelligence, vol. 19, no 3, pp. 206-218. Horaud, R., Dornaika, F., Lamiroy, B., and Christy, S. (1997), Object Pose: The Link Between Weak Perspective, Paraperspective and Full Perspective, International Journal of Computer Vision, vol. 22, no 2, pp. 173-189. Gallagher, A. C. (2002), A Ground Truth Based Vanishing Point Detection Algorithm, Pattern Recognition, vol. 35, no 7, pp. 1527-1543. Gallagher, A. C. (2005), Using Vanishing Points to Correct Camera Rotation in Images, Proceedings of the Second Canadian Conference on Computer and Robot Vision, CRV 05, pp. 460-467. Segvic, S. (2001), Determining the Absolute Orientation in a Corridor Using Projective Geometry and Active Vision, IEEE Trans on Industrial Electronics, vol. 48, no 3, pp. 696-6702. Ansar, A., Daniilidis, K. (2003), Linear Pose Estimation from Points or Lines, IEEE Trans on Pattern Analysis and Machine Intelligence, vol. 25, no 5, pp. 578-589. Chandraker, M. K., Stock, C., Pinz, A. (2003), Real-Time Camera Pose in a Room, International Conference on Computer Vision Systems, ICVS 2003,LNCS, vol. 2626, pp. 98-110. Wilczkowiak, M., Sturm, P., Boyer, E. (2005), Using Geometric Constraints through Parallelepipeds for Calibration and 3D Modelling, IEEE Trans on Pattern Analysis and Machine Intelligence, vol. 27, no 2, pp. 194-207. Xu, D., Li, Y.F. (2007), A New Pose Estimation based on Inertial and Visual Sensors for Autonomous Robots, Proceedings of International Conference on Robots and Biomimetics, ROBIO, pp. 405-410. Lingrand, D. (2000), Particular Forms of Homography Matrices, British Machine Vision Conference, BMVC. Open Source Computer Vision (OpenCV) home page. http://sourceforge.net/projects/opencvlibrary. C. Harris and M.J. Stephens (1988). A Combined Corner and Edge Detector, In Alvey Vision Conference, pp. 147 152.