«Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο»

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "«Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο»"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗ, ΥΠΟΛΟΓΙΣΤΕΣ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ «Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο» «Hand Tracking and Hand Gesture Recognition in Real Time» ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΓΟΝΙΔΑΚΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ. 432 Πτυχιούχος Τμήματος Φυσικής Επιβλέπων: ΓΕΩΡΓΙΟΣ ΟΙΚΟΝΟΜΟΥ Καθηγητής Πάτρα, Ιανουάριος 2015

2 2

3 «Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο» «Hand Tracking and Hand Gesture Recognition in Real Time» ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΓΟΝΙΔΑΚΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ. 432 Πτυχιούχος Τμήματος Φυσικής Εγκρίθηκε από την τριμελή εξεταστική επιτροπή την 27 η Ιανουαρίου 2015 Γεώργιος Οικονόμου Ευάγγελος Ζυγούρης Σπυρίδων Φωτόπουλος Καθηγητής Αναπληρωτής Καθηγητής Καθηγητής Τμήμα Φυσικής Τμήμα Φυσικής Τμήμα Φυσικής Πάτρα, Ιανουάριος

4 4

5 Περίληψη Με την αλματώδη πρόοδο της τεχνολογίας τα τελευταία χρόνια, οι συσκευές πολυμέσων έχουν γίνει ακόμη περισσότερο «έξυπνες». Όλες αυτές οι συσκευές, απαιτούν επικοινωνία με τον χρήστη σε πραγματικό χρόνο. Ο τομέας της επικοινωνίας ανθρώπου υπολογιστή (human computer interaction - HCI) έχει προχωρήσει πια από την εποχή που τα μοναδικά εργαλεία ήταν το ποντίκι και το πληκτρολόγιο. Ένας από τους πιο ενδιαφέροντες και αναπτυσσόμενους τομείς είναι η χρήση χειρονομιών για αλληλεπίδραση με την έξυπνη συσκευή. Στη παρούσα εργασία προτείνεται ένα αυτόματο σύστημα όπου ο χρήστης θα επικοινωνεί με μία συσκευή πολυμέσων, για παράδειγμα μία τηλεόραση, βάση χειρονομιών σε πραγματικό χρόνο και σε πραγματικές συνθήκες. Θα παρουσιαστούν και θα δοκιμαστούν δημοφιλείς αλγόριθμοι της υπολογιστικής όρασης (computer vision) και της αναγνώρισης προτύπων (pattern recognition) και κάποιοι από αυτούς θα ενσωματωθούν στο σύστημά μας. Το προτεινόμενο σύστημα μπορεί να παρακολουθεί το χέρι ενός χρήστη και να αναγνωρίζει τη χειρονομία του. Η παρούσα εργασία παρουσιάζει μια υλοποίηση στο Matlab (2014b) και αποτελεί προστάδιο υλοποίησης σε πραγματικό χρόνο. 5

6 6

7 Abstract The rapid advances of technology during the last years have enabled multimedia devices to become more and more «smart» requiring real time interaction with the user. The field of humancomputer interaction (HCI) has to show many advances in this communication that is not restricted only to the use of mouse and keyboard that once used to be the only tools for communication with the computer. An area of great interest and improvements is the use of hand gestures in order to enable interaction with the smart device. In this master thesis, a novel automatic system that enables the communication of the user with a multimedia device, e.g. a television, in real time and under real circumstances is proposed. In this thesis, popular algorithms from the fields of computer vision and pattern recognition will be investigated in order to choose the ones that will be incorporated in the proposed system. This system has the ability to track the user s hand, recognize his gesture and act properly. The current implementation was conducted with the use of Matlab (2014b) and constitutes a first step of the final real time implementation. 7

8 8

9 Ευχαριστίες Θα ήθελα να εκφράσω την ευγνωμοσύνη μου σε διάφορα πρόσωπα για την βοήθεια που μου προσέφεραν κατά την εκπόνηση της εργασίας αυτής. Θα ήθελα να ευχαριστήσω όλους τους καθηγητές του εργαστηρίου Ηλεκτρονικής του τμήματος Φυσικής του Πανεπιστημίου Πατρών. Ιδιαίτερα ευχαριστώ τον Καθηγητή Γ. Οικονόμου που μου έδωσε την ευκαιρία να συνεργαστώ μαζί του και να αποκτήσω εμπειρία και γνώσεις καθώς και τα άλλα δύο μέλη της τριμελούς επιτροπής Καθηγητή Σπ. Φωτόπουλο και Αναπληρωτή Καθηγητή Ευ. Ζυγούρη για την πολύτιμη βοήθεια και φιλική υποστήριξη. Επιπλέον θα ήθελα να ευχαριστήσω θερμά τον Δρ. Ηλ. Θεοδωρακόπουλο και την εταιρεία Irida Labs και ιδιαιτέρως τους Δρ. Χ. Θεοχαράτο, Δρ. Ν. Φραγκούλη και Δρ. Β. Τσαγκάρης για την χρήσιμη και εποικοδομητική καθοδήγηση τους στην εκπόνηση της εργασίας μου. Τέλος θα ήθελα να ευχαριστήσω τους γονείς μου Μανώλη και Μαρία και τη φίλη μου Ευγενία για την αμέριστη στήριξή τους κατά τη διάρκεια των σπουδών μου. 9

10 10

11 Περιεχόμενα Περίληψη... 5 Abstract... 7 Ευχαριστίες... 9 Περιεχόμενα ΚΕΦΑΛΑΙΟ ΕΙΣΑΓΩΓΗ Το Αντικείμενο της μεταπτυχιακής διπλωματικής εργασίας Παρόμοιες εφαρμογές Διάρθρωση της μεταπτυχιακής διπλωματικής εργασίας ΚΕΦΑΛΑΙΟ Ανίχνευση του Χρώματος του Ανθρωπίνου Δέρματος Εισαγωγή Εφαρμογές Ανίχνευσης Δέρματος Μέθοδοι Ανίχνευσης Δέρματος Πλεονεκτήματα χρήσης αλγορίθμων ανίχνευσης δέρματος Προβλήματα και Δυσκολίες κατά την ανίχνευση δέρματος με βάση το χρώμα Χρωματικοί χώροι RGB Red, Green, Blue Normalized RGB rg space HSI, HSV, HSL Hue Saturation Intensity YCrCb Χρωματικοί χώροι βάση της ανθρώπινης αντίληψης Μοντελοποίηση της Χρωματικής Κατανομής του δέρματος Ορισμός περιοχής δέρματος με σαφή όρια Μη παραμετρική μοντελοποίηση της κατανομής του δέρματος Παραμετρική μοντελοποίηση της κατανομής του δέρματος Επιλογή Αλγορίθμου Ανίχνευσης Δέρματος

12 2.8.1 Μοντελοποίηση του δέρματος με ορισμό περιοχής δέρματος στον RGB και HSI χρωματικό χώρο (μέθοδος με fusion) Μοντελοποίηση του δέρματος με μίξη γκαουσιανών κατανομών (GMM) Δοκιμές αλγορίθμων Τελική επιλογή αλγορίθμου Συζήτηση Σύνοψη 2 ου Κεφαλαίου Βιβλιογραφία 2 ου Κεφαλαίου ΚΕΦΑΛΑΙΟ Ταχεία Ανίχνευση Αντικειμένων Εισαγωγή Η Ανίχνευση Αντικειμένων στο σύστημά μας Εφαρμογές Ανίχνευσης Αντικειμένων Ανίχνευση Αντικειμένων βάσει χαρακτηριστικών Ανίχνευση Αντικειμένων βάσει ιδιοτήτων της περιοχής τους Εύρεση Ιδιοτήτων Περιοχών χρησιμοποιώντας το MATLAB Η κατά Viola Jones Ανίχνευση Αντικειμένων Εισαγωγή Εξαγωγή χαρακτηριστικών Οι Αλγόριθμοι Εκμάθησης του Ταξινομητή Η κατασκευή του cascade ταξινομητή Η Ταχεία Ανίχνευση στο σύστημά μας Εκπαίδευση του Viola Jones Ανιχνευτή Ενσωμάτωση του Viola Jones Ανιχνευτή στο σύστημά μας Συζήτηση Σύνοψη 3 ου Κεφαλαίου Βιβλιογραφία 3 ου Κεφαλαίου ΚΕΦΑΛΑΙΟ Παρακολούθηση Αντικειμένων σε Πραγματικό Χρόνο Ο Αλγόριθμος CAMSHIFT Εισαγωγή Εισαγωγή στον αλγόριθμο CAMSHIFT

13 4.2 Εφαρμογές Αλγορίθμων Παρακολούθησης Κατανομή Πιθανότητας Αντικειμένου Ο χρησιμοποιούμενος χρωματικός χώρος Ο αλγόριθμος Mean Shift Η προέλευση του CAMSHIFT Τα βήματα του αλγορίθμου Mean Shift Το Κριτήριο Σύγκλισης Οι αδυναμίες του Mean Shift Ο αλγόριθμος CAMSHIFT Οι Εξισώσεις του αλγορίθμου CAMSHIFT Τα βήματα του CAMSHIFT Προσαρμογή και ενσωμάτωση του CAMSHIFT στην ανίχνευση του χεριού στο σύστημά μας Επιλογή χρωματικού χώρου Η συνάρτηση CAMSHIFT στο MATLAB Ενσωμάτωση της συνάρτησης CAMSHIFT στο σύστημά μας Συζήτηση Σύνοψη 4 ου Κεφαλαίου Βιβλιογραφία 4 ου Κεφαλαίου ΚΕΦΑΛΑΙΟ Αναγνώριση Χειρονομιών Εισαγωγή Εφαρμογές Αναγνώρισης Χειρονομιών H Βάση Δεδομένων Cambridge Hand Gesture Εισαγωγή Περιγραφή της Βάσης Αναζήτηση Αλγορίθμων Histograms of Oriented Gradients (HOG) Εισαγωγή Υλοποίηση του αλγορίθμου Περαιτέρω έρευνα

14 5.5.4 Υπολογισμός HOG μέσω matlab Ο SVM Ταξινομητής Εισαγωγή Ορισμός Ιστορία του αλγορίθμου Γραμμική Ταξινόμηση Ο SVM στο matlab Δοκιμές Αλγορίθμων χρησιμοποιώντας τη βάση Cambridge Hand Gesture Περιγραφή των Δοκιμών Εξαγωγή και επεξεργασία χαρακτηριστικών βάση των ιδιοτήτων των περιοχών δέρματος Εξαγωγή και Επεξεργασία Χαρακτηριστικών HOG Τα αποτελέσματα των δοκιμών Επιλογή αλγορίθμου Δημιουργία Βάσης Χειρονομιών σε πραγματικές συνθήκες για συσκευή πολυμέσων Προσαρμογή του αλγόριθμου BoW στο σύστημά μας Εκπαίδευση του συστήματος αναγνώρισης χειρονομιών Επιλογή των χειρονομιών του τελικού συστήματος Περιγραφή του συνολικού συστήματος Παράδειγμα Εκτέλεσης του προγράμματος για ένα αρχείο βίντεο Συζήτηση Σύνοψη 5 ου Κεφαλαίου Βιβλιογραφία 5 ου Κεφαλαίου ΚΕΦΑΛΑΙΟ Συμπεράσματα - Επίλογος Σύνοψη της Εργασίας Δυσκολίες και περιορισμοί του συστήματος Προτάσεις για Μελλοντική Έρευνα

15 Κεφάλαιο1 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1.1 Το Αντικείμενο της μεταπτυχιακής διπλωματικής εργασίας Με την αλματώδη πρόοδο της τεχνολογίας τα τελευταία χρόνια, οι συσκευές πολυμέσων έχουν γίνει ακόμη πιο «έξυπνες». Στην αγορά έχουν εμφανιστεί κινητά τηλέφωνα και τηλεοράσεις με εντυπωσιακές ικανότητες επεξεργαστικής ισχύος και αποθηκευτικού χώρου. Επιπλέον πολλές από αυτές τις συσκευές είναι πια εξοπλισμένες με πληθώρα αισθητήρων από απλές κάμερες έως και αισθητήρες βάθους. Όλες αυτές οι συσκευές, απαιτούν επικοινωνία με τον χρήστη σε πραγματικό χρόνο. Ο τομέας της επικοινωνίας ανθρώπου υπολογιστή (human computer interaction - HCI) έχει προχωρήσει πια από την εποχή που τα μοναδικά εργαλεία ήταν το ποντίκι και το πληκτρολόγιο. Τα τελευταία χρόνια παρουσιάστηκαν και άλλες συσκευές όπως μηχανικά γάντια αλλά και συστήματα που «παρακολουθούν» τον χρήστη βάση αισθητήρων. Ένας από τους πιο ενδιαφέροντες και αναπτυσσόμενους τομείς είναι η χρήση χειρονομιών για αλληλεπίδραση με την έξυπνη συσκευή. Ωστόσο η πολυπλοκότητα του ανθρώπινου χεριού γεννά αρκετές δυσκολίες στη παρακολούθηση. Επίσης, η λειτουργία σε πραγματικό χρόνο και σε ρεαλιστικό περιβάλλον απαιτεί ένα σύστημα υψηλής ακρίβειας ανίχνευσης και αναγνώρισης. Επιπλέον, στο σύστημα αναγνώρισης προσθέτονται επιπρόσθετες δυσκολίες και άχρηστα δεδομένα για το σύστημα από το πραγματικό, τυχαίο και πολύπλοκο περιβάλλον. Στη παρούσα εργασία θα προταθεί ένα αυτόματο σύστημα όπου ο χρήστης θα επικοινωνεί με μία συσκευή πολυμέσων, για παράδειγμα μία τηλεόραση, βάση χειρονομιών σε πραγματικό χρόνο και σε πραγματικές συνθήκες. Η μοναδική προϋπόθεση θα είναι η ύπαρξη μίας κάμερας μεσαίας ανάλυσης. Για τον πιο εύκολο εντοπισμό του ανθρώπινου χεριού, επινοήθηκε μια χειρονομία αρχικοποίησης την οποία θα αναζητά αρχικά η συσκευή. Αυτή η χειρονομία είναι η ανοικτή παλάμη με ανοικτά τα δάκτυλα του δεξιού ή του αριστερού χεριού. 15

16 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 1.1: Παραδείγματα της χειρονομίας αρχικοποίησης Στη συνέχεια ο χρήστης θα μπορεί να αλλάξει τη χειρονομία ώστε να επικοινωνήσει με τη συσκευή. Το σύστημα θα είναι ικανό να παρακολουθεί το χέρι και να αναγνωρίζει τις μετέπειτα χειρονομίες ώστε η συσκευή να εκτελέσει τις αντίστοιχες εντολές. Θα παρουσιαστούν και θα δοκιμαστούν δημοφιλείς αλγόριθμοι της υπολογιστικής όρασης (computer vision) και της αναγνώρισης προτύπων (pattern recognition). Ορισμένοι από αυτούς θα επιλεγούν και θα αποτελέσουν μέρος τους συστήματός μας. Αυτή η επιλογή θα γίνει βάση της αποτελεσματικότητάς και της δυνατότητας χρήσης τους σε ένα σύστημα πραγματικού χρόνου. Αυτή είναι μια ισορροπία πολύ εύθραυστη και δύσκολα επιτεύξιμη. Στα πλαίσια της εργασίας χρησιμοποιήθηκε η βάση Cambridge Hand Gesture, στην οποία δοκιμάστηκαν αρκετοί αλγόριθμοι αναγνώρισης χειρονομιών. Επιπλέον, κατασκευάστηκαν δύο επιπλέον βάσεις. Η μία για την εκπαίδευση του ανιχνευτή εντοπισμού της χειρονομίας αρχικοποίησης και η άλλη για την εκπαίδευση του συστήματος αναγνώρισης των χειρονομιών. Αυτή τη στιγμή ο παρών αλγόριθμος έχει υλοποιηθεί στο Matlab και δέχεται σαν είσοδο ένα αρχείο βίντεο. Ωστόσο έχει κατασκευαστεί με τέτοιο τρόπο ώστε μελλοντικά να υλοποιηθεί σε κάποιο άλλο σύστημα για λειτουργία σε πραγματικό χρόνο. 1.2 Παρόμοιες εφαρμογές 16

17 Κεφάλαιο1 Κατά την αναζήτηση παρόμοιων εφαρμογών στη βιβλιογραφία και το διαδίκτυο βρέθηκαν κυρίως εφαρμογές ανίχνευσης χειρονομιών με την υποβοήθηση αισθητήρων τοποθετημένων στα χέρια, όπως φαίνεται παρακάτω: Σχήμα 1.2: Εφαρμογές αλληλεπίδρασης ανθρώπου υπολογιστή με μηχανικά μέσα Αυτές οι εφαρμογές είναι πιο εύκολες στην υλοποίηση και έχουν σχετικά μικρά ποσοστά λάθους. Μπορούν να λειτουργήσουν υπό διάφορες συνθήκες φωτισμού και υποβάθρου. Ωστόσο η αρχή λειτουργίας τους είναι εντελώς διαφορετική. Το σύστημά μας θα δέχεται πληροφορίες αποκλειστικά από μία κάμερα RGB μεσαίας ανάλυσης. Στο εμπόριο κυκλοφορούν «έξυπνες» τηλεοράσεις που πλησιάζουν το σύστημά μας. Ωστόσο, ορισμένες διαθέτουν αισθητήρες βάθους. Επιπλέον, επειδή πρόκειται για τεχνολογία αιχμής, για λόγους ανταγωνισμού, δεν είναι δυνατή η γνώση στο ευρύ κοινό των αλγορίθμων που τρέχουν και τα ακριβή χαρακτηριστικά του χρησιμοποιουμένου εξοπλισμού. 17

18 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 1.3: Τηλεοράσεις με σύστημα αναγνώρισης χειρονομιών 1.3 Διάρθρωση της μεταπτυχιακής διπλωματικής εργασίας Το αυτόματο σύστημα αναγνώρισης που προτείνεται αποτελείται από κάποια επιμέρους στάδια λειτουργίας, όπου το ένα διαδέχεται το άλλο. Κάθε ένα από τα κεφάλαια της εργασίας είναι αφιερωμένο σε ένα από αυτά τα στάδια. Κάθε φορά εξηγείται αναλυτικά η λειτουργία του και ο τρόπος μετάβασης στο επόμενο. Η διάθρωση της εργασίας έχει ως εξής: Κεφάλαιο 2. Ανίχνευση του Χρώματος του Ανθρωπίνου Δέρματος Σε αυτό το κεφάλαιο εξηγείται ο τρόπος με τον οποίο το σύστημα εντοπίζει το χρώμα του ανθρώπινου δέρματος από ένα τυχαίο περιβάλλον που περιλαμβάνει ανθρώπους αλλά και αντικείμενα μη χρήσιμα για το σύστημα. Αυτό είναι το πρώτο στάδιο λειτουργίας του συστήματος το οποίο είναι απαραίτητο και σε οποιοδήποτε σύστημα εντοπισμού κάποιου ανθρωπίνου μέρους. Είναι δυνατή η παράλειψή του αλλά περιλαμβάνοντας το αυξάνεται το ποσοστό ορθής και γρήγορης λειτουργίας. Ύστερα από τη παρουσίαση και δοκιμή αρκετών αλγορίθμων επιλέγεται ο καταλληλότερος για το σύστημά μας. Κεφάλαιο 3. Ταχεία Ανίχνευση Αντικειμένων 18

19 Κεφάλαιο1 Σε αυτό το κεφάλαιο εξηγείται ο τρόπος με τον οποίο το σύστημα ανιχνεύει την χειρονομία αρχικοποίησης που είναι η ανοικτή παλάμη με ανοικτά δάκτυλα του αριστερού ή του δεξιού χεριού. Πιο συγκεκριμένα, αφού διερευνώνται διάφοροι αλγόριθμοι καταλήγουμε στον πιο κατάλληλο που είναι η ανίχνευση κατά Viola Jones. Περιγράφεται η εκπαίδευσή του αντίστοιχου ανιχνευτή και ο τρόπος υλοποίησής του στο σύστημα ύστερα από την ανίχνευση του ανθρωπίνου δέρματος. Κεφάλαιο 4. Παρακολούθηση Αντικειμένων σε Πραγματικό Χρόνο Σε αυτό το κεφάλαιο εξηγείται ο τρόπος με τον οποίο το σύστημα παρακολουθεί το χέρι του χρήστη ανεξάρτητα με το αν αλλάζει η χειρονομία. Παρουσιάζεται ο αλγόριθμος CAMSHIFT και περιγράφεται ο τρόπος υλοποίησής του στο σύστημα έπειτα από την ανίχνευση της χειρονομίας αρχικοποίησης Κεφάλαιο 5. Αναγνώριση Χειρονομιών Το τελευταίο στάδιο λειτουργίας είναι η διαδικασία αναγνώρισης της χειρονομίας κατά τη διάρκεια παρακολούθησης του χεριού με τον CAMSHIFT. Κατά την ανίχνευση κατά Viola Jones δεν απαιτείται αυτό το βήμα καθώς ο αντίστοιχος ανιχνευτής εκπαιδεύεται αποκλειστικά για τη χειρονομία αρχικοποίησης. Παρουσιάζεται ο αλγόριθμος που αναγνωρίζει αν ο χρήστης εκτελεί την χειρονομία πλοήγησης (χειρονομία αρχικοποίησης) ή την χειρονομία επιλογής (κλειστή παλάμη). Περιγράφονται αρκετοί αλγόριθμοι, ο τρόπος δοκιμών τους, οι χρησιμοποιούμενες βάσεις και η επιλογή του καταλληλότερου που αποτελεί μία μετεξέλιξη του αλγορίθμου Bag of Words. Τέλος παρουσιάζεται το τελικό σύστημα που περιλαμβάνει το συγκεκριμένο στάδιο λειτουργίας αλλά και τα προηγούμενα βήματα. Στο τέλος κάθε κεφαλαίου υπάρχει η ενότητα Συζήτηση Σύνοψη όπου σχολιάζουμε το αντίστοιχο κεφάλαιο και το συνδέουμε με το επόμενο. Επίσης, παρουσιάζεται η χρησιμοποιημένη κάθε φορά βιβλιογραφία. 19

20 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 20

21 Κεφάλαιο 2 ΚΕΦΑΛΑΙΟ 2 Ανίχνευση του Χρώματος του Ανθρωπίνου Δέρματος 2.1 Εισαγωγή Η υπολογιστική όραση είναι ένας τομέας της επιστήμης που εν γένει μελετά την λειτουργία του ανθρώπινου οργανισμού και την αντιγράφει έτσι ώστε να συμπληρώσει τον άνθρωπο με έξυπνες μηχανές. Για την καλύτερη επικοινωνία ανθρώπου μηχανής είναι απαραίτητο η μηχανή να μπορεί να «βλέπει» τους ανθρώπους. Αυτό επιτυγχάνεται με τη χρήση αλγορίθμων αναγνώρισης προσώπου, χειρονομιών κι άλλους παρόμοιους. Όλοι αυτοί οι αλγόριθμοι στηρίζονται στην ανίχνευση του ανθρώπινου δέρματος. Το μεγαλύτερο πρόβλημα που έχουν να αντιμετωπίσουν οι διάφορες τεχνικές ανίχνευσης δέρματος είναι η ευαισθησία στις συνθήκες φωτισμού υπό τις οποίες λαμβάνεται η εισερχόμενη εικόνα. Αν το πρόβλημα δεν αντιμετωπίζεται επαρκώς, η ανίχνευση του προσώπου ή των χειρονομιών επηρεάζεται σε πολύ μεγάλο βαθμό. Ένας τρόπος επίλυσης του προβλήματος είναι η σωστή επιλογή του χρωματικού χώρου, καθώς κάποιοι από αυτούς έχουν σχεδιαστεί ώστε να μην επηρεάζονται από την αλλαγή των συνθηκών φωτισμού [1]. Η ύπαρξη πολυάριθμων βάσεων εικόνων καθώς και η πληθώρα τους στο διαδίκτυο επιτρέπουν την εύκολη κατασκευή αλγορίθμων για χαρακτηριστικά εικόνων χαμηλού επιπέδου όπως η ανίχνευση χρώματος δέρματος. Στη βιβλιογραφία υπάρχουν αρκετοί τέτοιοι αλγόριθμοι. Έχουν δοκιμαστεί πολλοί χρωματικοί χώροι έτσι ώστε ανάλογα την εφαρμογή να επιλέγεται και ο καταλληλότερος. Στις παρακάτω ενότητες αναφέρονται οι βασικές κατηγορίες αλγορίθμων ανίχνευσης δέρματος και κάποιες υλοποιήσεις. 21

22 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 2.1: Παραδείγματα Ανίχνευσης Δέρματος 2.2 Εφαρμογές Ανίχνευσης Δέρματος Όπως αναφέρθηκε και παραπάνω για την καλύτερη επικοινωνία ανθρώπου μηχανής είναι απαραίτητο η μηχανή να «βλέπει» τους ανθρώπους. Παρακάτω αναφέρονται κάποιες βασικές εφαρμογές που αναδεικνύουν τη χρησιμότητα των αλγορίθμων ανίχνευσης δέρματος: Ανίχνευση Ανθρώπων Ανίχνευση Προσώπου Ανίχνευση Χεριών για: o Ανίχνευση χειρονομιών o Έλεγχο ρομπότ o Άλλες μορφές επικοινωνίας ανθρώπου μηχανής Φίλτρο εικόνων για προστασία ανηλίκων από εικόνες πορνογραφικού περιεχομένου στο διαδίκτυο Διάφορες εφαρμογές στην επεξεργασία βίντεο 22

23 Κεφάλαιο Μέθοδοι Ανίχνευσης Δέρματος Οι τεχνικές ανίχνευσης δέρματος χωρίζονται σε δύο μεγάλες κατηγορίες: Με βάση τη πληροφορία ανά pixel ανίχνευση δέρματος ανά pixel, Με βάση τη πληροφορία από περισσότερα από ένα pixel- ανίχνευση δέρματος ανά περιοχή. Στους αλγορίθμους που στηρίζονται στη πληροφορία ανά pixel, κάθε pixel ταξινομείται ως «δέρμα» ή «όχι - δέρμα» ανεξάρτητα από τα γειτονικά του. Σ αυτή τη κατηγορία εμπίπτουν και οι τεχνικές με βάση το χρώμα. Στους αλγορίθμους που στηρίζονται στη πληροφορία από παραπάνω από ένα pixel, λαμβάνεται υπόψη η χωρική διάταξη των pixel και η πληροφορία τους. Επίσης χρησιμοποιούνται και άλλα στοιχεία από την εικόνα όπως υφή, ακμές και περιγράμματα. Συνήθως όμως τέτοιοι αλγόριθμοι απαιτούν περισσότερο υπολογιστικό χρόνο και ισχύ χωρίς να αυξάνεται πάντα η απόδοση του ανιχνευτή. Στη βιβλιογραφία και στη παρούσα εργασία διερευνώνται κυρίως αλγόριθμοι ανά pixel και πιο συγκεκριμένα τεχνικές με βάση το χρώμα. 2.4 Πλεονεκτήματα χρήσης αλγορίθμων ανίχνευσης δέρματος Οι αλγόριθμοι ανίχνευσης δέρματος, στη περίπτωση ενός ανιχνευτή προσώπου για παράδειγμα, επιτρέπουν τη γρήγορη επεξεργασία των δεδομένων, καθώς δεν απαιτούν μεγάλο υπολογιστικό χρόνο. Οπότε στη συνέχεια ο ανιχνευτής προσώπου δεν εφαρμόζεται σε όλη την εικόνα αλλά μόνο στις περιοχές που έχει εντοπιστεί δέρμα, αγνοώντας τις υπόλοιπες και ελαττώνοντας κι άλλο τον υπολογιστικό χρόνο. Αυτό είναι πολύ χρήσιμο καθώς οι περισσότερες εφαρμογές σχεδιάζονται για λειτουργία σε πραγματικό χρόνο. Ένας ανιχνευτής δέρματος επιτρέπει επίσης την εξαγωγή γεωμετρικών χαρακτηριστικών των περιοχών με δέρμα, που μπορεί να φανεί χρήσιμο ανάλογα την εφαρμογή. Για παράδειγμα στην αναγνώριση χειρονομιών, ο ανιχνευτής αφού εντοπίσει μία περιοχή με δέρμα, από τα γεωμετρικά της χαρακτηριστικά μπορεί να διαπιστώσει αν είναι χέρι ή ακόμα και κάποια συγκεκριμένη χειρονομία. Ένα ακόμη σημαντικό πλεονέκτημα είναι ότι η απόδοση της ανίχνευση δέρματος φαίνεται ότι δεν επηρεάζεται από την αλλαγή ανάλυσης της εικόνας. Επομένως, δεδομένα που έχουν παρθεί 23

24 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο από μία φορητή συσκευή με περιορισμένες δυνατότητες μπορούν να αξιοποιηθούν εξίσου αποτελεσματικά. 2.5 Προβλήματα και Δυσκολίες κατά την ανίχνευση δέρματος με βάση το χρώμα Το αποτέλεσμα ενός ανιχνευτή δέρματος είναι μία δυαδική εικόνα στην οποία κάθε pixel είναι «δέρμα» ή «όχι δέρμα». Οπότε πρέπει να διερευνηθεί αν όλα τα χρώματα μπορούν να ταξινομηθούν παρομοίως, δηλαδή δυαδικά, σε χρώματα που αναπαριστούν δέρμα και σε χρώματα που δεν αναπαριστούν δέρμα. Αυτός ο διαχωρισμός δεν είναι εύκολος, καθώς τα χρώματα αλλάζουν ανάλογα τις συνθήκες που επικρατούν κατά τη λήψη της εικόνας. Κατά τη λήψη ενός βίντεο, η συνθήκες φωτισμού αλλάζουν σε ένα πραγματικό περιβάλλον προκαλώντας μεταβολές και στη χρωματική πληροφορία. Επίσης, σε ένα άνθρωπο η απόχρωση του δέρματος του είναι χωρικά μεταβαλλόμενη. Επιπλέον, μία πανομοιότυπη φωτογραφία έχει διαφορές αν τραβηχτεί από διαφορετικές κάμερες. Κινούμενα αντικείμενα προκαλούν θόλωμα και πηγές φωτισμού και σκιάσεις προκαλούν περαιτέρω αλλαγές στα χρώματα. Με βάση τις παραπάνω δυσκολίες θα πρέπει να απαντηθούν δύο βασικά ερωτήματα: 1. Ποιος χρωματικός χώρος θα επιλεχθεί; 2. Με ποιο τρόπο θα μοντελοποιηθεί η χρωματική κατανομή του δέρματος ώστε με βάση αυτή να ελέγχονται τα χρώματα; 2.6 Χρωματικοί χώροι Μία εικόνα μπορεί να αναπαρασταθεί σε διάφορους χρωματικούς χώρους. Καθένας έχει τα δικά του πλεονεκτήματα και μειονεκτήματα και επιλέγεται ανάλογα την εφαρμογή. Παρακάτω αναφέρονται ορισμένοι από τους πιο διαδεδομένους χρωματικούς χώρους που έχουν χρησιμοποιηθεί για ανίχνευση δέρματος: RGB Normalized RGB HIS, HSV, HSL 24

25 Κεφάλαιο 2 o Fleck HSV TSL YCrCb Χρωματικοί χώροι που απεικονίζουν τα χρώματα με παρόμοιο τρόπο που τα αντιλαμβάνεται ο άνθρωπος: o CIELAB, CIELUV Άλλοι λιγότεροι διαδεδομένοι χρωματικοί χώροι: o YES, YUV, YIQ, CIE-xyz RGB Red, Green, Blue O χρωματικός χώρος RGB προήλθε από τις συμβατικές οθόνες CRT, όπου βόλευε η περιγραφή των χρωμάτων ως συνδυασμό των τριών χρωμάτων, κόκκινο, πράσινο και μπλε. Είναι πιθανόν ο πιο διαδεδομένος χρωματικός χώρος για επεξεργασία και αποθήκευση ψηφιακής πληροφορίας εικόνων. Αυτό είναι ίσως το μεγάλο προτέρημα διότι η μετάβαση σε άλλους χρωματικούς χώρους πολλές φορές κοστίζει σε υπολογιστική ισχύ και χρόνο. Ωστόσο, για πολυάριθμους λόγους δεν προτιμάται για ανίχνευση δέρματος. Πρώτον, υπάρχει υψηλός συσχετισμός μεταξύ των καναλιών και ο χώρος διαφέρει αρκετά από την ανθρώπινη αντίληψη. Επίσης η φωτεινότητα και η χρωματική πληροφορία δεν είναι ανεξάρτητες. Παρόλα αυτά ο RGB χρησιμοποιήθηκε από ερευνητές για ανίχνευση δέρματος [2] [3] [4]. 25

26 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 2.2: Ο χρωματικός χώρος RGB Normalized RGB rg space O Normalized RGB χώρος είναι μια αναπαράσταση που εύκολα προκύπτει από τις τιμές RGB χρησιμοποιώντας τις παρακάτω σχέσεις:, και (2.1) Καθώς το άθροισμα των τριών νορμαλισμένων συνιστωσών είναι γνωστό (r + g + b = 1), η τρίτη συνιστώσα είναι πια περιττή και μπορεί να παραλειφθεί. Με αυτό το τρόπο μειώνονται και οι διαστάσεις του χώρου. Οι άλλες δύο συνιστώσες ονομάζονται συχνά ως «pure colors καθαρά χρώματα», καθώς η εξάρτηση των r και g συνιστωσών στη φωτεινότητα είναι αρκετά ελαττωμένη λόγω του νορμαλισμού. 26

27 Κεφάλαιο 2 Μία σημαντική ιδιότητα αυτής της αναπαράστασης είναι ότι για επιφάνειες ματ, όταν αγνοείται το περιβάλλον φως, ο normalized RGB χώρος (υπό συγκεκριμένες προϋποθέσεις) είναι αμετάβλητος σε περιστροφές προσανατολισμού σχετικές με τη πηγή του φωτός [5]. Αυτή η ιδιότητα και η απλότητα μετασχηματισμού από τον RGB χώρο βοήθησαν στην αύξηση της χρήσης του normalized RGB από τους ερευνητές ανίχνευσης δέρματος[6] [7] [8] [9] [10] [2]. Σχήμα 2.3: Ο rg χώρος HSI, HSV, HSL Hue Saturation Intensity Οι χρωματικοί χώροι που στηρίζονται στο Hue (χρώμα) και στο Saturation (κορεσμό) εμφανίστηκαν όταν οι χρωματικές ιδιότητες έπρεπε να προσδιοριστούν αριθμητικά. Αυτοί οι χώροι περιγράφουν τη χρωματική πληροφορία με βάση την αντίληψη του ανθρώπου. Η Hue συνιστώσα προσδιορίζει το κυρίαρχο χρώμα (όπως κόκκινο, πράσινο, μοβ και κίτρινο) μιας περιοχής, η Saturation συνιστώσα μετρά το κορεσμό του χρώματος βάση της φωτεινότητας. Η συνιστώσα intensity (ένταση) ή lightness ή value σχετίζεται με τη χρωματική ένταση. Αυτοί οι χώροι χρησιμοποιήθηκαν κατά κόρον για χρωματική τμηματοποίηση (color segmentation) και κατ επέκταση στην ανίχνευση δέρματος καθώς προσφέρουν υψηλή διαισθητικότητα και σαφή διαχωρισμό της έντασης του φωτός και της έντασης των χρωμάτων. Μετά από αρκετές έρευνες διαπιστώθηκαν δύο χρήσιμες ιδιότητες αυτών των χώρων: 1. Η χρωματική πληροφορία παραμένει αμετάβλητη από φωτεινά σημεία προκαλούμενα από λευκές πηγές φωτός 27

28 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 2. Η χρωματική πληροφορία παραμένει αμετάβλητη σε επιφάνειες ματ από αλλαγές του φωτός του περιβάλλοντος και από περιστροφές προσανατολισμού της φωτεινής πηγής. Ωστόσο ο [13] τονίζει και ορισμένα ανεπιθύμητα χαρακτηριστικά του χώρου όπως τις ασυνέχειες της συνιστώσας hue και τον απαιτητικό υπολογισμό της φωτεινότητας, κάτι που φαίνεται εύκολα από τρόπο υπολογισμό των συνιστωσών του: (2.2) Οι [12] πρότειναν κι έναν άλλο εναλλακτικό τρόπο υπολογισμού των συνιστωσών χρησιμοποιώντας λογαριθμικούς μετασχηματισμούς από τις RGB τιμές στοχεύοντας στην περεταίρω ανεξαρτησία της χρωματικής πληροφορίας με τη φωτεινότητας [2]. Σχήμα 2.4: Ο HSV χώρος 28

29 Κεφάλαιο YCrCb Το YCrCb είναι ένα κωδικοποιημένο μη γραμμικό RGB σήμα που χρησιμοποιείται ευρέως στην ευρωπαϊκή τηλεόραση και στην συμπίεση εικόνας. Το χρώμα αναπαριστάται από τη luma (προέρχεται από τη luminance (φωτεινότητα) [13]), και κατασκευάζεται μέσω του σταθμισμένου αθροίσματος των RGB τιμών. Οι άλλες δύο χρωματικές διαφορές Cr και Cb προκύπτουν από τη διαφορά της luma με την κόκκινη και τη μπλε αντίστοιχα συνιστώσα των RGB τιμών, όπως φαίνεται παρακάτω: (2.3) Σχήμα 2.5: Ο YCrCb χώρος Αυτός ο χώρος προτιμάται συχνά για την ανίχνευση δέρματος λόγω του εύκολου μετασχηματισμού του από τον RGB και τον σαφή διαχωρισμό της φωτεινότητας (luminance) και του χρώματος (chrominance). 29

30 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 2.6: Λήψη εικόνας, μετατροπή σε RGB και YCrCb Χρωματικοί χώροι βάση της ανθρώπινης αντίληψης Ο όρος «ανθρώπινο δέρμα» δεν είναι μια φυσική ιδιότητα κάποιου αντικειμένου αλλά μια χρωματική αντίληψη. Γι αυτό το λόγο είναι ένα μία ανθρώπινη υποκειμενική έννοια. Οπότε, μια χρωματική αναπαράσταση βασιζόμενη στο ανθρώπινο οπτικό σύστημα θα βοηθούσε στη κατασκευή ενός αλγορίθμου ανίχνευσης δέρματος. Τέτοιοι χώροι είναι οι CIELAB και CIELUV και προτάθηκαν αρχικά από τον G. Wyszecki. Σύμφωνα με την ανθρώπινη αντίληψη, μία μικρή αναταραχή σε μία χρωματική συνιστώσα γίνεται ισάξια αντιληπτή σε όλο το εύρος αυτής της τιμής [13]. Ο RGB διαφέρει κατά πολύ από έναν τέτοιο χώρο. Οι CIELAB και CIELUV μέσω κάποιων μη γραμμικών φαινομένων κατά τη κατασκευή τους προσπαθούν να ικανοποιήσουν αυτή την ιδιότητα. Ωστόσο, αυτές οι μη γραμμικότητες προσθέτουν πολυπλοκότητα αρά και υπολογιστική ισχύ στους μετασχηματισμούς τους από τον RGB. Παρόλα αυτά έχουν χρησιμοποιηθεί από αρκετούς ερευνητές. Σχήμα 2.7: Ο CIELAB χώρος 30

31 Κεφάλαιο Μοντελοποίηση της Χρωματικής Κατανομής του δέρματος Στόχος ενός ανιχνευτή δέρματος είναι η κατασκευή ενός κανόνα απόφασης, ο οποίος θα διαχωρίζει τα pixel μιας εικόνας σε «δέρμα» και «όχι δέρμα». Αυτό συνήθως επιτυγχάνεται κατασκευάζοντας μία μετρική, η οποία θα μετρά την απόσταση του χρώματος του pixel με αυτή του δέρματος. Αυτή η μετρική προσδιορίζεται από τη μέθοδο της μοντελοποίησης του χρώματος του δέρματος. Η χρωματική κατανομή μπορεί να μοντελοποιηθεί: με σαφή όρια ή με παραμετρικό ή με μη παραμετρικό τρόπο Ορισμός περιοχής δέρματος με σαφή όρια Μία μέθοδος κατασκευής ενός ανιχνευτή δέρματος είναι ο σαφής ορισμός ορίων της κλάσης του δέρματος σε κάποιο χρωματικό χώρο. Αυτό ο ορισμός μπορεί να πραγματοποιηθεί βάσει κάποιων κανόνων. Για παράδειγμα για τον RGB χώρο οι [15] κατασκεύασαν τον παρακάτω ανιχνευτή: Ένα pixel με τιμές (R,G,B) ταξινομείται ως δέρμα αν: R > 95 και G > 40 και B > 20 και max{r,g,b} min {R,G,B} > 15 και R G > 15 και R > G και R > B Το πιο βασικό πλεονέκτημα αυτής της μεθόδου είναι η απλότητά της, καθώς οδηγεί στη κατασκευή ενός πολύ γρήγορου ανιχνευτή. Ωστόσο, είναι σχετικά δύσκολο να επιτευχθούν πολύ καλά αποτελέσματα καθώς πρέπει εμπειρικά να γίνει επιλογή του χρωματικού χώρου και να θεσπιστεί επαρκής αριθμός κανόνων απόφασης. Ωστόσο οι [14] πρότειναν μία μέθοδο που περιλαμβάνει αλγορίθμους εκμάθησης για την εύρεση του κατάλληλου χρωματικού χώρου και τη θέσπιση ενός απλού κανόνα απόφασης που να 31

32 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο πετυχαίνει υψηλά ποσοστά αναγνώρισης. Ο αλγόριθμος ξεκινά από τον νορμαλισμένο RGB χώρο και έχει ως στόχο τον μετασχηματισμό του σε τρεις άλλες συνιστώσες που θα αναπαριστούν την υπέρθεση των r, g, b και μιας σταθεράς a με τιμή 1/3, υλοποιημένες με βασικές αριθμητικές πράξεις. Στην συνέχεια κατασκευάζεται ένας κανόνας απόφασης που πετυχαίνει όσο το δυνατό καλύτερα ποσοστά αναγνώρισης. Στη περίπτωση λίγων δειγμάτων εκπαίδευσης, ο αλγόριθμος προβλέπει περίπλοκους κανόνες απόφασης για την αποφυγή υπερεκπαίδευσης. Διαπιστώθηκε ότι αυτή η μέθοδος μπορεί να επιτυγχάνει αρκετά ανταγωνιστικά αποτελέσματα Μη παραμετρική μοντελοποίηση της κατανομής του δέρματος Η κεντρική ιδέα της μοντελοποίησης της κατανομής του δέρματος με μη παραμετρικό τρόπο είναι η εκτίμηση της από τα εκπαιδευμένα δεδομένα με μη ρητό τρόπο, χωρίς δηλαδή σαφή όρια. Αντιθέτως για κάθε διακριτό σημείο στο χρωματικό χώρο ανατίθεται μία τιμή πιθανότητας. Οπότε στο τέλος κατασκευάζεται ένας πίνακας πιθανότητας δέρματος (Skin Probability Map SPM) [16][3]. Δύο ξεκάθαρα πλεονεκτήματα χρήσης μη παραμετρικών μεθόδων είναι: Είναι γρήγοροι στην εκπαίδευση και στη χρήση Θεωρητικά, είναι ανεξάρτητοι στο σχήμα της κατανομής του δέρματος (το οποίο δεν είναι ισχύει για τους αλγορίθμους ορισμού περιοχής (βλέπε 2.8.1) και για παραμετρικούς μεθόδους Ωστόσο, απαιτούν μεγάλο όγκο δεδομένων για εκπαίδευση χωρίς να εξασφαλίζεται πάντα η γενικότητα του ταξινομητή Κανονικοποιηνένος πίνακας lookup Πολλοί ανιχνευτές προσώπου για να κάνουν τμηματοποίηση των pixel ως προς το δέρμα χρησιμοποιούν αλγορίθμους με βάση το ιστόγραμμα. Συνήθως ο χρωματικός χώρος (ή πιο συχνά οι συνιστώσες που αφορούν το χρώμα) κβαντίζεται σε ένα αριθμό από bins, όπου το καθένα αντιστοιχεί σε ένα συγκεκριμένο χρωματικό εύρος τιμών, σε ζεύγη (2D χώρος) ή σε τριάδες (3D χώρος). Αυτά τα bins σχηματίζουν ένα 2D ή 3D ιστόγραμμα που αναφέρεται ως lookup πίνακας (LUT). Κάθε bin αποθηκεύει πόσες φορές ένα συγκεκριμένο χρώμα αναπαριστά δέρμα στις εικόνες υπό εκπαίδευση. 32

33 Κεφάλαιο 2 Μετά το πέρας της εκπαίδευσης, οι απαριθμήσεις του ιστογράμματος κβαντίζονται ώστε να σχηματίσουν μία κατανομή πιθανότητας: (2.4) όπου η μεταβλητή skin[c] δίνει τη τιμή του ιστογράμματος που αντιστοιχεί στο χρωματικό διάνυσμα c και η μεταβλητή Norm είναι η σταθερά νορμαλοποίησης και ισούται είτε με το άθροισμα όλων των τιμών του ιστογράμματος είτε με τη μέγιστη τιμή αυτών. Οι κανονικοποιημένες τιμές του lookup πίνακα αναπαριστούν τη πιθανότητα του συγκεκριμένου χρώματος να αντιστοιχεί σε ανθρώπινο δέρμα Ταξινομητής Bayes Η τιμή του P skin (c) που υπολογίζεται στη σχέση της προηγούμενης ενότητας είναι στη πραγματικότητα μία υπό συνθήκη πιθανότητα P(c skin) - μία πιθανότητα του χρώματος c, γνωρίζοντας ότι βλέπουμε ένα pixel δέρματος. Ένας πιο κατάλληλος τρόπος μέτρησης για ανίχνευση δέρματος θα ήταν η πιθανότητα P(skin c) - η πιθανότητα παρατήρησης του δέρματος με δεδομένη μία συγκεκριμένη χρωματική τιμή. Για τον υπολογισμό αυτής της πιθανότητας, χρησιμοποιούμε τον κανόνα Baye: (2.5) όπου τα P(c skin) και P(c skin) υπολογίζονται απευθείας από τα ιστογράμματα δέρματος και όχι - δέρματος, σύμφωνα με τη προηγούμενη ενότητα. Οι πιθανότητες P(skin) και P( skin) μπορούν να υπολογιστούν και από τον συνολικό αριθμό των δειγμάτων εκπαίδευσης (δέρμα και όχι δέρμα αντίστοιχα). Ως κανόνας ανίχνευσης δέρματος μπορεί να χρησιμοποιηθεί η ανισότητα P(c skin) Θ, όπου Θ μία τιμή κατωφλίου. 33

34 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Αυτό-οργανούμενος χάρτης (SOM) Ο αυτό- οργανούμενος χάρτης (Self-Organizing Map SOM), επινοήθηκε από τον Kohonen περίπου το 1980, και είναι ένας από τους δημοφιλέστερους τύπους μη επιβλεπομένων νευρωνικών δικτύων. Έτσι προτάθηκε ένας ανιχνευτής δέρματος αυτού του τύπου[6]. Πιο συγκεκριμένα εκπαιδεύτηκαν δύο SOM (δέρμα και όχι δέρμα) με τη βοήθεια μίας βάσης 500 εικόνων όπου χειροκίνητα είχαν χαρακτηριστεί δέρμα και όχι δέρμα. Η απόδοση αυτών των ανιχνευτών εξετάστηκε λεπτομερώς χρησιμοποιώντας τη δημοφιλή βάση για ανίχνευση δέρματος Compaq [4]. Έγιναν δοκιμές σε διάφορους χρωματικούς χώρους (normalized RGB, Hue Saturation, Cartesian Hue - Saturation and chrominance plane of TSL) αλλά δεν εντοπίστηκε κάποια σημαντική βελτίωση των αποτελεσμάτων Παραμετρική μοντελοποίηση της κατανομής του δέρματος Οι πιο δημοφιλείς μη παραμετρικοί μέθοδοι μοντελοποίησης του δέρματος απαιτούν μεγάλο αποθηκευτικό χώρο και η απόδοσή τους εξαρτάται εξ ολοκλήρου από τη πιστότητα των εικόνων εκπαίδευσης. Επομένως, δημιουργήθηκε η ανάγκη για μια πιο συμπαγή αναπαράσταση της κατανομής του δέρματος για συγκεκριμένες εφαρμογές ενώ παράλληλα να υπάρχει η δυνατότητα να μην επηρεάζεται η απόδοση από τυχόν αδυναμίες της βάσης εκπαίδευσης Απλή Γκαουσιανή Η κατανομή του χρώματος του δέρματος μπορεί εύκολα να μοντελοποιηθεί από μία ελλειπτική γκαουσιανή πυκνότητα πιθανότητας (pdf), που ορίζεται ως: (2.6) όπου c είναι το χρωματικό διάνυσμα. Οι υπόλοιπες μεταβλητές αφορούν τη γκαουσιανή κατανομή, μ s είναι το μέσο διάνυσμα και Σ s ο πίνακας συνδιασποράς και υπολογίζονται όπως παρακάτω:, (2.7) 34

35 Κεφάλαιο 2 όπου n είναι ο συνολικός αριθμός των δειγμάτων c j. Η πιθανότητα p(c skin) μπορεί να χρησιμοποιηθεί απ ευθείας για τη μέτρηση του «πόσο δέρμα» είναι το χρώμα c. Εναλλακτικά, μπορεί να χρησιμοποιηθεί η απόσταση Mahalanobis από το χρωματικό διάνυσμα c ως το μέσο διάνυσμα μ s, αφού ο πίνακας συνδιασποράς Σ s μπορεί να εξυπηρετήσει τον ίδιο σκοπό: (2.8) Μοντέλο Μίξης Γκαουσιανών κατανομών (GMM) Ένα πιο εξελιγμένο μοντέλο, ικανό να περιγράψει περίπλοκες κατανομές είναι το μοντέλο μίξης γκαουσιανών κατανομών (Gaussian mixture model - GMM). Ένα βασικό πλεονέκτημά του είναι ότι μπορεί να γενικεύσει μία κατανομή που έχει προκύψει από σχετικά λίγα δεδομένα εκπαίδευσης. Σχήμα 2.8: Μοντελοποίηση μιας κατανομής με GMM Η συνάρτηση πυκνότητας πιθανότητας είναι το άθροισμα των επιμέρους γακουσιανών, όπως φαίνεται παρακάτω: (2.9) 35

36 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο όπου x είναι το RGB χρωματικό διάνυσμα. Η συνεισφορά της i th γκαουσιανής καθορίζεται από το σταθμισμένο βάρος w i και έχει μέσο διάνυσμα μ i και πίνακα συνδασποράς Σ i. Η εκπαίδευση αυτής της μοντελοποίησης γίνεται με μία αρκετά διαδεδομένη τεχνική που λέγεται εκτίμηση του μεγίστου (Expectation Maximization EM algorithm), η οποία θεωρεί εκ των προτέρων ότι ο αριθμός των συνιστωσών είναι k [18]. Στο τέλος η ταξινόμηση γίνεται με τη σύγκριση της πιθανότητας p(c skin) με μία τιμή κατωφλίου. Η επιλογή της παραμέτρου k, δηλαδή τον αριθμό των επιμέρους γκαουσιανών, είναι πολύ σημαντική. Η τελική κατανομή θα πρέπει να περιγράφει με ακρίβεια τα δεδομένα εκπαίδευσης αλλά να μην είναι υπερεκπαιδευμένη. Έχει γίνει αρκετή έρευνα για τη τιμή αυτής της παραμέτρου και η επιλογή των ερευνητών ποικίλει σημαντικά. Ορισμένες επιλογές τους είναι k = 2, k = 8 ή k = 16. Σύμφωνα με τους [18] «ένας καλός συμβιβασμός μεταξύ ακρίβειας της εκτίμησης της πραγματικής κατανομής - υπολογιστικού φόρτου για τη κατωφλιοποίηση» είναι για k = 8. Ωστόσο οι [10] [11] προτίμησαν 16 γκαουσιανές. Πιο συγκεκριμένα, οι [11] εκπαίδευσαν δύο ξεχωριστά μοντέλα μίξης γκαουσιανών, για δέρμα και για όχι δέρμα αντίστοιχα. Για κάθε μοντέλο χρησιμοποιήθηκαν 16 επιμέρους γκαουσιανές, με κάθε μία να έχει τη δικής της συνεισφορά. Εκπαιδεύτηκαν με μία εκδοχή παράλληλης επεξεργασίας του αλγορίθμου EM. Παρακάτω φαίνονται τα αποτελέσματα εκπαίδευσης και για τα δύο μοντέλα. 36

37 Κεφάλαιο 2 Πίνακας 2.1: Μέσες τιμές, συνδιασπορές και βάρη για τα μοντέλα μίξης γκαουσιανών για δέρμα και όχι δέρμα για τον RGB χρωματικό χώρο [11]. 37

38 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 2.9: Παραδείγματα ανίχνευσης δέρματος. Για κάθε ζευγάρι εικόνων, η αρχική εικόνα φαίνεται από πάνω και τα pixels που ανιχνεύτηκαν ως «δέρμα» φαίνονται από κάτω ( σκοτεινές περιοχές στη δυαδική εικόνα) [11]. Οι πίνακας 2.1 είναι κάπως γενικός και προτείνεται για κάθε είδους εφαρμογή καθώς η εκπαίδευση του πραγματοποιήθηκε με εικόνες που πάρθηκαν από το διαδίκτυο υπό τυχαίες συνθήκες φωτισμού και background. Ο ερευνητής [10] πραγματοποίησε μια διαφορετική εκπαίδευση προσπαθώντας να εξειδικεύσει το πρόβλημα. Θέλησε να φτιάξει μοντέλα GMM για εικόνες ή βίντεο που να απεικονίζεται μόνο ένας άνθρωπος με σταθερή φωτεινότητα και σταθερό background. Ως αλγόριθμο εκπαίδευσης χρησιμοποίησε κι αυτός τον EM algorithm και σαν τιμές αρχικοποίησης χρησιμοποίησε αυτές του Πίνακα 2.1. Έτσι κατασκευάστηκε ένας GMM πίνακας για «δέρμα» και ένας άλλος για «όχι δέρμα». 38

39 Κεφάλαιο 2 Σχήμα 2.10: Ανίχνευση δέρματος που να απεικονίζεται μόνο ένας άνθρωπος με σταθερή φωτεινότητα και σταθερό background χρησιμοποιώντας GMM του [10] Διαπιστώνεται ότι, όπως ήταν αναμενόμενο, η εκπαίδευση των παραπάνω μοντέλων απαιτεί πολύ παραπάνω υπολογιστική ισχύ και χρόνο από την εκπαίδευση ενός μοντέλου απλής γκαουσιανής ή ενός μοντέλου που στηρίζεται στο ιστόγραμμα. 2.8 Επιλογή Αλγορίθμου Ανίχνευσης Δέρματος Στη διάρκεια της εκπόνησης αυτής της εργασίας, δοκιμάστηκαν διάφοροι από τους παραπάνω αλγορίθμους. Έπρεπε να διατηρηθεί η ισορροπία απόδοσης και υπολογιστικού φόρτου δηλαδή να βρεθεί ένας αλγόριθμος που να μπορεί, σε συνδυασμό με το συνολικό σύστημα, να λειτουργήσει σε πραγματικό χρόνο αποδίδοντας ταυτόχρονα ικανοποιητικά αποτελέσματα. Δεν χρειάστηκε να γίνει κάποια εκπαίδευση καθώς κρίθηκαν αρκετές οι πληροφορίες που έδιναν οι υπόλοιποι ερευνητές. Επιπλέον θα ήταν μια χρονοβόρα διαδικασία καθώς θα έπρεπε να βρεθεί ή να κατασκευαστεί μία βάση δεδομένων και έπειτα να βρεθεί ο κατάλληλος αλγόριθμος εκπαίδευσης. Μετά από μελέτη της βιβλιογραφίας, καταλήξαμε σε δύο υποψήφιες τεχνικές μοντελοποίησης του δέρματος, που απαιτούσαν περαιτέρω δοκιμές και τροποποιήσεις, αλλά θα μπορούσαν να χρησιμοποιηθούν για την ανίχνευση του δέρματος στο συνολικό μας σύστημα: 1) Μία τεχνική όπως στην ενότητα 2.8.1, δηλαδή με σαφή ορισμό περιοχής δέρματος χρησιμοποιώντας τις συνιστώσες κάποιου χρωματικού χώρου, με διαφορά σε αυτή τη περίπτωση θα συνδυάζονταν δύο χρωματικοί (λειτουργία fusion) ή 39

40 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 2) Μία τεχνική όπως στην ενότητα , δηλαδή μοντελοποίηση της κατανομής του δέρματος χρησιμοποιώντας μίξη γκαουσιανών (GMM) Μοντελοποίηση του δέρματος με ορισμό περιοχής δέρματος στον RGB και HSI χρωματικό χώρο (μέθοδος με fusion) Όπως αναφέρθηκε και στην ενότητα 2.8.1, ένας από τους πιο απλούς τρόπους κατασκευής ενός ταξινομητή δέρματος είναι ο ορισμός συγκεκριμένων ορίων σε κάποιο χρωματικό χώρο, μέσω κάποιων κανόνων. Οι κανόνες που αναφέρουν οι [15] αφορούν μόνο συνιστώσες RGB. Όπως αναφέρθηκε και στην ενότητα 2.6.1, ο RGB χώρος έχει αρκετές αδυναμίες στην ανίχνευση δέρματος. Για αυτό το λόγο, προσθέσαμε έναν κανόνα που αφορά τον χώρο HSI και συγκεκριμένα μόνο τη συνιστώσα H, δηλαδή τη φωτεινότητα. Οπότε με μία διαδικασία σαν fusion, ένα pixel ταξινομείται ως δέρμα αν ικανοποιούνται ταυτόχρονα οι κανόνες που αφορούν τον RGB και οι κανόνες που αφορούν τον HSI. Αρχικά η εικόνα αναπαρίσταται στον RGB, οπότε είναι εύκολο να διερευνηθούν οι κανόνες για αυτό το χρωματικό χώρο. Για να διερευνηθούν οι κανόνες για την φωτεινότητα στον HSI, θα πρέπει πρώτα να μεταβούμε σε αυτόν τον. Όπως έχει αναφερθεί στη ενότητα 2.7.3, η συνιστώσα H μπορεί να προκύψει σύμφωνα με τη παρακάτω σχέση από τις συνιστώσες του RGB: (2.10) Στη συνέχεια, μπορούμε να εφαρμόσουμε τον κανόνα απόφασης που πρότεινε ο [16]: Η < 25 ή Η > 230 (2.11). Αξίζει να αναφερθεί σε αυτό το σημείο ότι επειδή οι ερευνητές ανάλογα την εφαρμογή έχουν προτείνει ποικίλα όρια σε αυτόν το κανόνα, διερευνήσαμε κι άλλες περιπτώσεις. Επομένως, αλγοριθμικά έχουμε: 40

41 Κεφάλαιο 2 1) Κανόνας απόφασης 1 (για RGB): R > 95 και G > 40 και B > 20 και max{r,g,b} min{r,g,b} > 15 και R G > 15 και R > G και R > B και G > B. 2) Κανόνας απόφασης 2 (για HSI): Η < 25 ή Η > ) Αν για κάποιο συγκεκριμένο pixel ισχύουν και οι δύο κανόνες απόφασης, το pixel ανήκει σε δέρμα Η συνάρτηση SKIN_DETECTION_FUSION στο MATLAB είσοδο: Η συνάρτηση SKIN_DETECTION_FUSION υλοποιήθηκε στο MATLAB και δέχεται ως im: μία εικόνα ή βίντεο καρέ στον RGB χώρο και th: μία τιμή κατωφλίου που σχετίζεται με τις συνθήκες φωτισμού και background. Τυπική τιμή: 25. Στην έξοδο της προκύπτει η δυαδική εικόνα map. Παρακάτω φαίνεται ο κώδικάς της: function map=skin_detection_fusion2(im,th); im=double(im); [n,m,dim]=size(im); %% RGB COLOR SPACE %%%%%%%%%%%%%%%%%%%%%%%%%%%%% decision_rgb=zeros(n,m); r=im(:,:,1); g=im(:,:,2); b=im(:,:,3); decision_rgb(find(r>95 & g>40 & b>20 &... max(im,[],3)-min(im,[],3)>15 &... abs(r-g)>15 &... 41

42 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο r>g & r>b & g>b))=1; %%% HSI COLOR SPACE %%%%%%%%%%%%%%%%%%%%%%%%%%%%% decision_hsi=zeros(n,m); rgb1=((r-g)+(r-b)).^2; rgb2=abs((r-g).^2+(r-b).*(g-b)); decision_hsi(find(rgb1>4*(cos(th*pi/180)^2).*rgb2))=1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% map=and(decision_rgb,decision_hsi); Μοντελοποίηση του δέρματος με μίξη γκαουσιανών κατανομών (GMM) Όπως αναφέρθηκε και στην ενότητα , η κατανομή του δέρματος, μπορεί να περιγραφεί με ακρίβεια με μίξη γκαουσιανών κατανομών. Σύμφωνα με [10] και [11], κατασκευάζουμε δύο κατανομές (για δέρμα και όχι δέρμα αντίστοιχα) όπου η κάθε μία έχει 16 επιμέρους γκαουσιανές με διαφορετικό σταθμισμένο βάρος η κάθε μία. Στη συνέχεια για κάθε pixel προκύπτουν δύο πιθανότητες: μία για το αν είναι «δέρμα» - P(c skin) και μία για τον αν είναι «όχι δέρμα» - P(c skin). ταξινόμηση: Στο τέλος, οι δύο πιθανότητες συγκρίνονται και ανάλογα το αποτέλεσμα γίνεται η Αν P(c skin) > P(c skin), τότε το pixel που έχει το χρωματικό διάνυσμα c ανήκει σε δέρμα Αν P(c skin) < P(c skin), τότε το pixel που έχει το χρωματικό διάνυσμα c δεν ανήκει σε δέρμα Η συνάρτηση SKIN_DETECTION_GMM στο MATLAB Η συνάρτηση SKIN_DETECTION_FUSION υλοποιήθηκε στο MATLAB και δέχεται ως είσοδο την colorim που είναι μία εικόνα ή βίντεο καρέ στον RGB χώρο. Στην έξοδο της προκύπτει η δυαδική εικόνα labelim. 42

43 Κεφάλαιο 2 Παρακάτω φαίνεται ο κώδικάς της: function labelim = SKIN_DETECTION_GMM(colorim) % colorim must have 3 color planes % colorim(:,:,1) = red pixel values, 0 to 255 % colorim(:,:,2) = green pix values, 0 to 255 % colorim(:,:,3) = blue pix values, 0 to 255 % labelim is 1 for skin pixels, 0 otherwise. [nr,nc,nb] = size(colorim); if (nb ~= 3) error('input image must be color\n'); end redvals = double(reshape(colorim(:,:,1),nr*nc,1)); grevals = double(reshape(colorim(:,:,2),nr*nc,1)); bluvals = double(reshape(colorim(:,:,3),nr*nc,1)); %format of Mixture of Gaussian models: %one gaussian component per row % rmean gmean bmean rvar gvar bvar weight skinmog = [ 73.53, 29.94, 17.76, , , , ; , , , 39.94, , , ; , , 96.65, , 60.48, , ; , , , , 64.60, , ; , 98.37, 51.18, , , , ; , , 90.84, 65.23, , , ; , 72.66, 37.76, , , , ; , , , , , , ; , , , , 84.52, , ; , , , , , , ; , 97.74, 74.59, , 73.56, , , 77.55, 59.82, , 70.34, , ; , , 82.32, , 92.14, , ; , , 87.24, , , , ; 99.57, 54.33, 38.06, , 90.18, , ; , , , , , , ;]; 43

44 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο nonskinmog = [ , , , 2.77, 2.81, 5.46, ; 9.39, 8.09, 8.52, 46.84, 33.59, 32.48, ; 96.57, 96.95, 91.53, , , , ; , , , , , , ; 74.98, 63.23, 46.33, , , , ; , 60.88, 18.31, , , , ; , , 91.04, , , , ; , , , , , , ; 51.88, 57.14, 61.55, , , , ; 30.88, 26.84, 25.32, , , , ; 44.97, 85.96, , , , , ; , , , , , , ; , , , , , , ; 99.83, , , , , , ; , , , , , , ; , , 66.88, , , , ;]; skinscores = zeros(size(redvals)); for i=1:size(skinmog,1) p = skinmog(i,:); tmp = ((redvals-p(1)).^2 / p(4) + (grevals-p(2)).^2 / p(5) +... (bluvals-p(3)).^2 / p(6)); tmp = p(7) * exp(- tmp / 2) / ((2 * pi)^(3/2) *... sqrt(p(4)*p(5)*p(6))); skinscores = skinscores + tmp; end nonskinscores = zeros(size(redvals)); for i=1:size(nonskinmog,1) p = nonskinmog(i,:); tmp = ((redvals-p(1)).^2 / p(4) + (grevals-p(2)).^2 / p(5) +... (bluvals-p(3)).^2 / p(6)); tmp = p(7) * exp(- tmp / 2) / ((2 * pi)^(3/2) *... sqrt(p(4)*p(5)*p(6))); nonskinscores = nonskinscores + tmp; end 44

45 Κεφάλαιο 2 labelim = reshape(skinscores > nonskinscores, nr, nc); return; Δοκιμές αλγορίθμων Πραγματοποιήθηκαν αρκετές δοκιμές ανίχνευσης δέρματος από video, με ποικίλες συνθήκες φωτισμού και εστίασης. Προτιμήθηκαν κυρίως λήψεις εσωτερικού χώρου αφού η εφαρμογή μας προορίζεται κυρίως για αυτή τη χρήση. Παρακάτω φαίνονται κάποια χαρακτηριστικά αποτελέσματα, υπό διάφορες συνθήκες φωτισμού και αντιθέσεων. Από αριστερά προς τα δεξιά, πρώτα φαίνεται η αρχική εικόνα ενός καρέ του βίντεο, χωρίς καμία επεξεργασία. Έπειτα, η δυαδική εικόνα, που προέκυψε από τη μέθοδο fusion και ακολουθεί η δυαδική εικόνα που προέκυψε από τη μέθοδο GMM με χρήση των πινάκων των [11](GMM 1 ). Τέλος απεικονίζεται η δυαδική εικόνα που προέκυψε από τη μέθοδο GMM με χρήση των πινάκων των [10](GMM 3 ). Εξωτερικός χώρος με καλό φωτισμό και υψηλή αντίθεση άνθρωπος background Σχήμα 2.11α: Ανίχνευση Δέρματος σε εξωτερικό χώρο και καλό φωτισμό. Πολύ καλή απόδοση των Fusion και GMM 1. Κακή απόδοση του GMM 3 Εσωτερικός χώρος με καλό φωτισμό και υψηλή αντίθεση άνθρωπος background Σχήμα 2.11β: Ανίχνευση Δέρματος σε εσωτερικό χώρο και καλό φωτισμό. Πολύ καλή απόδοση των Fusion και GMM 1. Κακή απόδοση του GMM 3 45

46 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Εσωτερικός χώρος με κάποια σκιώδη σημεία αλλά καλή αντίθεση άνθρωπος background Σχήμα 2.11γ: Ανίχνευση Δέρματος σε εσωτερικό χώρο και μέτριο φωτισμό. Πολύ καλή απόδοση του GMM 1.Μέτρια για τον fusion και κακή για τον GMM 3 Εσωτερικός χώρος με κακό φωτισμό και κακή αντίθεση άνθρωπος background Σχήμα 2.11δ: Ανίχνευση Δέρματος σε εσωτερικό χώρο και κακό φωτισμό. Μόνο ο GMM 1 επιτυγχάνει ορθά αποτελέσματα Εσωτερικός και σκοτεινός χώρος, κακές συνθήκες για επεξεργασία εικόνας. Σχήμα 2.11δ: Ανίχνευση Δέρματος σε εσωτερικό και σκοτεινό χώρο. Κανένας αλγόριθμος δεν επιτυγχάνει ορθά αποτελέσματα 46

47 Κεφάλαιο 2 Εσωτερικός χώρος με μέτριο φωτισμό αλλά με background χρώματος εφάμιλλο με αυτό του ανθρωπίνου δέρματος. Σχήμα 2.11ε: Ανίχνευση Δέρματος σε εσωτερικό και σκοτεινό χώρο με background χρώματος εφάμιλλο με αυτό του ανθρωπίνου δέρματος. Οπότε σημεία του τοίχου και άλλων αντικειμένων εκτός ανθρώπου εντοπίζονται λανθασμένα ως δέρμα από όλους τους αλγορίθμους Τελική επιλογή αλγορίθμου Μετά το πέρας των δοκιμών, προέκυψαν τα παρακάτω συμπεράσματα: Και οι δύο τεχνικές (Fusion + GMM) είναι αρκετά γρήγορες καθώς πραγματοποιούν βασικές αλγοριθμικές πράξεις. Οπότε θα μπορούσαν να ενσωματωθούν σε ένα σύστημα πραγματικού χρόνου. Φαίνεται ότι οι εσωτερικοί χώροι είναι πιο απαιτητικοί απ ότι οι εξωτερικοί λόγω υποδεέστερου φωτισμού και πιο περίπλοκου background. Φαίνεται πως οι πίνακες του [11] (GMM 3 ) είναι ιδιαίτερα εξειδικευμένοι και προορίζονται για χρήση σε βίντεο ή εικόνες με μόνο έναν άνθρωπο υπό σταθερές συνθήκες φωτισμού και background, κάτι που το έχει αναφέρει και ο ερευνητής στη δημοσίευσή του. Οπότε δεν αποδίδει σωστά υπό τις συνθήκες της εφαρμογής μας και έτσι απορρίπτεται η χρήση του. Οι δύο τεχνικές (Fusion + GMM 1 ) υπό συνθήκες καλού φωτισμού και σχετικά μεγάλων αντιθέσεων ως προς το background, αποδίδουν πολύ καλά. Ωστόσο έχουν κάποιες αδυναμίες σε συνθήκες ελλιπούς φωτισμού και σε περιπτώσεις που στη περιοχή του background υπάρχουν αντικείμενα που το χρώμα τους πλησιάζει αυτό του ανθρωπίνου δέρματος. Ωστόσο, η μοντελοποίηση με μίξη γκαουσιανών (GMM 1 ) φαίνεται πως αποδίδει καλύτερα από την αντίστοιχη του Fusion. Με βάση τα παραπάνω, επιλέχθηκε η ανίχνευση του ανθρώπινου δέρματος να γίνεται με τον GMM 1, δηλαδή στον RGB χρωματικό χώρο με χρήση μίξη γκαουσιανών κατανομών με τους πίνακες των ερευνητών [11]. 47

48 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Πρέπει να επισημανθεί ότι ο συγκεκριμένος αλγόριθμος βρίσκει εφαρμογή σε όλα τα χρώματα δέρματος, όπως φαίνεται παρακάτω: Σχήμα 2.12: Ανίχνευση Δέρματος με GMM 1 σε εικόνα με ανθρώπους με διαφορετικά χρώματα δέρματος Συζήτηση Σύνοψη 2 ου Κεφαλαίου Σε αυτό το κεφάλαιο αναζητήθηκαν αλγόριθμοι ανίχνευσης του χρώματος του ανθρωπίνου δέρματος. Παρουσιάστηκαν και δοκιμάστηκαν δημοφιλείς αλγόριθμοι και επιλέχθηκε η μίξη γκαουσιανών κατανομών. Αναλύθηκε το πρώτο στάδιο λειτουργίας του συστήματός μας και στο επόμενο κεφάλαιο θα συνεχίσουμε με το τρόπο ανίχνευσης της χειρονομίας αρχικοποίησης στα σημεία που έχει εντοπιστεί ανθρώπινο δέρμα. 48

49 Κεφάλαιο 2 Βιβλιογραφία 2 ου Κεφαλαίου [1] Jure Kovac, Peter Peer and Franc Solina, «Human Skin Colour Clustering for Face Detection». [2] Vladimir Vezhnevets, Vassili Sazonov, Alla Andreeva, «Α Survey on Pixel Based Skin Color Detection Techniques». [3] Brand J., and Mason J. 2000, «A comparative assessment of three approaches to pixel level human skin detection», In Proc. of the Internation Conference on Pattern Recognition, vol 1, [4] Jones M. J. and Rehg J. M. 1999, «Statistical color models with application to skin detection» In Proc. of the CVPR 99, vol [5] Skarbek W. and Koschan A. 1994, «Colour image segmentation - a survey», Tech. rep. Institute for Technical Informatics, Technical University of Berlin, October. [6] Brown D., Craw I. and Lewthwaite J., 2001, «A som based approach to skin detection with application in real time systems», In Proc. of the British Machine Vision Conference [7] Zarit B. D., Super B. J. and Quek F. K. H., 1999, «Comparison of five color models in skin pixel classification», In ICCV 99 Int l Workshop on recognition, analysis and tracking of faces and gestures in Real Time systems, [8] Soriano M., Huovinen S., Martinkauppi B. and Laaksonen M, 2000, «Skin detection in video under changing illuminatio conditions», In Proc. 15 th International Conference on Pattern Recognition, vol1, [9] Yang J., Lu W. and Waibel A., 1998, «Skin color modeling and adaption», In Proceedings of ACCV 1998, [10] Anthony Dotterer, 2006, «Statistical Color Models with Application to Skin Detection with EM Training». [11] Michael J. Jones and James M. Rehg, «Statistical Color Models with Application to Skin Detection», Cambridge Computer Corporation. [12] Fleck M., Forsyth D. A. and Bregler C., 1996, «Finding naked people», In Proc of the ECCV, vol 2, [13] Poynton C. A., 1995, «Frequently asked question about color», In ftp://www.inforamp.net/pub/users/poynton/doc/colour/colorfaq.ps.gz. 49

50 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο [14] Gomez G. and Morales E., 2002, «Automatic feature construction and a simple rule induction algorithm for skin detection», In Proc. of the ICML Workshop on Machine Learning in Computer Vision, [15] Peer P., Kovac J. and Solina F., 2003, «Human skin color clustering for face detection», In submitted to EUROCON 2003 International Conference on Computer as a Tool. [16] Nusirwan Anwar bin Abdul Rahman, Kit Chong Wei and John See, «RGB-H_CbCr Skin Color Model for Human Face Detection», Faculty of Information Technology, Multimedia University. [17] Gomez G., 2000, «On selecting color components for skin detection», In Proc. of the ICPR, vol 2, [18] Yang M. and Ahuja N., 1999, «Gaussian mixture model for human skin color and its application in image and video databases», In Proc. of the SPIE: Conf. on Storage and Retrieval for Image and Video Databases (SPIE 99), vol. 3656, [19] Lee J. Y. and Yoo S. I., 2002, «An elliptical boundary model for skin color detection», In Proc. of the 2002 International Conference on Imaging Science Systems and Technology 50

51 Κεφάλαιο 3 ΚΕΦΑΛΑΙΟ 3 Ταχεία Ανίχνευση Αντικειμένων 3.1 Εισαγωγή Ανίχνευση αντικειμένων στο πεδίο της υπολογιστικής όρασης είναι η διαδικασία εύρεσης παραδειγμάτων από αντικείμενα που βρίσκουμε στον πραγματικό κόσμο, όπως πρόσωπα, ποδήλατα, πεζούς, σε εικόνες ή βίντεο. Οι αλγόριθμοι ανίχνευσης αντικειμένων χρησιμοποιούν συνήθως χαρακτηριστικά που προκύπτουν από την επεξεργασία εικόνας και αλγορίθμους εκμάθησης αναγνώρισης παραδειγμάτων μιας κατηγορίας αντικειμένων. Συνήθως χρησιμοποιούνται σε εφαρμογές σχετικές με ανάκτηση εικόνων, ασφάλεια, παρακολούθηση ή ακόμη εφαρμογές που χρησιμοποιούνται από αυτοκίνητα που διαθέτουν αυτοματοποιημένο σύστημα παρκαρίσματος. Ανίχνευση Αντικειμένων μπορεί να επιτευχθεί με πάρα πολλές μεθόδους [1], όπως: Ανίχνευση Αντικειμένων βάσει χαρακτηριστικών Σχήμα 3.1: Ανίχνευση ενός αντικειμένου (αριστερά) σε μία τυχαία εικόνα (δεξιά) χρησιμοποιώντας εξαγωγή και ταίριασμα χαρακτηριστικών 51

52 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Ανίχνευση κατά Viola - Jones Σχήμα 3.2: Ανίχνευση προσώπου (αριστερά) και ανίχνευση του σήματος STOP χρησιμοποιώντας τον ανιχνευτή SVM ταξινόμηση χρησιμοποιώντας τα χαρακτηριστικά των ιστογραμμάτων προσανατολισμένων κλίσεων (Histograms of Oriented Gradients - HOG features) Σχήμα 3.3: Ανίχνευση ανθρώπων χρησιμοποιώντας ταξινόμηση SVM με HOG 52

53 Κεφάλαιο 3 Τμηματοποίηση εικόνας και ανάλυση σταγόνας Σχήμα 3.4: Τμηματοποίηση εικόνας χρησιμοποιώντας εξαγωγή background. Τα κινούμενα pixels (foreground) ανιχνεύονται από το καρέ του βίντεο (αριστερά) και αναπαριστώνται ως λευκά (δεξιά) Η Ανίχνευση Αντικειμένων στο σύστημά μας Το σύστημα μας πρέπει να περιλαμβάνει μία μέθοδο γρήγορης ανίχνευσης αντικειμένων ώστε να εντοπίζεται η χειρονομία αρχικοποίησης του. Η χειρονομία αρχικοποίησης είναι η παλάμη με ανοικτά δάκτυλα του δεξιού ή του αριστερού χεριού. Η μέθοδος που θα επιλεγεί θα εκμεταλλεύεται τα αποτελέσματα από την ανίχνευση του χρώματος του ανθρωπίνου δέρματος που περιγράφηκε στο Κεφάλαιο 2. Επομένως, σε αυτό το Κεφάλαιο, θα αναζητηθούν αλγόριθμοι για γρήγορη ανίχνευση αντικειμένων. Όπως και στα υπόλοιπα κεφάλαια της εργασίας, αναζητείται μία μέθοδος όπου θα συνδυάζει αποτελεσματικότητα και γρήγορη εκτέλεση καθώς το σύστημά μας προορίζεται για εκτέλεση σε πραγματικό χρόνο. 3.2 Εφαρμογές Ανίχνευσης Αντικειμένων Η Ανίχνευση Αντικειμένων είναι ένα πολύ σημαντικό παρακλάδι της υπολογιστικής όρασης. Βρίσκει πολυάριθμες εφαρμογές κάποιες από τις οποίες αναφέρονται παρακάτω: Ανίχνευση Προσώπων, Μύτης, Ματιών, Στόματος, Χεριών Ανίχνευση Πεζών Ανίχνευση Κειμένου Ταξινόμηση Αριθμητικών Ψηφίων 53

54 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 3.3 Ανίχνευση Αντικειμένων βάσει χαρακτηριστικών Ένας πολύ απλός τρόπος περιγραφής ενός αντικειμένου είναι η δημιουργία ενός χαρακτηριστικού διανύσματος που θα περιλαμβάνει δεδομένα που έχουν προκύψει από διάφορα χαρακτηριστικά της υπολογιστικής όρασης. Κάποια από αυτά μπορεί να έχουν προκύψει από Ανίχνευση Ακμών Χαρακτηριστικά Υφής Χαρακτηριστικά Κλίσης Χαρακτηριστικά Σταγόνας Στη συνέχεια, χρησιμοποιώντας κάποια μέθοδο εκπαίδευσης και ταξινόμησης πραγματοποιείται η ανίχνευση. Ωστόσο με αυτό τον τρόπο είναι δύσκολο να εξασφαλιστεί η ταχύτητα της ανίχνευσης καθώς η εξαγωγή πολλών χαρακτηριστικών από κάθε καρέ μπορεί να είναι χρονοβόρα διαδικασία Επομένως πρέπει να βρεθεί η ισορροπία αριθμού χαρακτηριστικών και απόδοσης. 3.4 Ανίχνευση Αντικειμένων βάσει ιδιοτήτων της περιοχής τους Ένας εξίσου απλός τρόπος περιγραφής ενός αντικειμένου είναι η εξαγωγή κάποιων χαρακτηριστικών βάσει των ιδιοτήτων της περιοχής τους. Χρησιμοποιώντας την ανίχνευση του χρώματος του ανθρωπίνου δέρματος σχηματίζεται μία δυαδική εικόνα. Εφαρμόζοντας κάποια μορφολογικά φίλτρα σχηματίζονται κάποιες περιοχές της εικόνας που περιέχουν δέρμα. Αυτές οι περιοχές μπορεί να αναπαριστούν ανθρώπινα πρόσωπα, χέρια ή πόδια. Με κάποιο τρόπο θα πρέπει να ανιχνευτούν οι παλάμες των χεριών. Κάποια χαρακτηριστικά των περιοχών που θα μπορούσαν να χρησιμοποιηθούν είναι: Θέση Κέντρου Αριθμός Pixel Εμβαδού Αριθμός Pixel Περιμέτρου Πολυπλοκότητα Σχήματος κ.α Μετά την επιλογή των χαρακτηριστικών, οι νορμαλισμένες τιμές τους μπορούν να σχηματίσουν ένα διάνυσμα που θα περιγράφουν την κάθε περιοχή. Σχηματίζοντας μια βάση 54

55 Κεφάλαιο 3 δεδομένων, με τη κατάλληλη μέθοδο εκπαίδευσης και ταξινόμησης δημιουργείται ένα σύστημα ανίχνευσης Εύρεση Ιδιοτήτων Περιοχών χρησιμοποιώντας το MATLAB To MATLAB διαθέτει τη συνάρτηση regionprops()που δέχεται ως είσοδο μία δυαδική εικόνα και εξάγει πολυάριθμες ιδιότητες [16]. Η σύνταξή της είναι: STATS = regionprops(bw, properties) όπου: BW: η δυαδική εικόνα properties: οι επιθυμητές εξαγόμενες ιδιότητες STATS:Είναι μία δομή που προκύπτει μετά την εκτέλεση της regionprops και περιέχει τα αποτελέσματά της Αυτή η συνάρτηση μπορεί να επιστρέψει στοιχεία που αφορούν τη: Περιγραφή του Σχήματος της Περιοχής Περιγραφή των τιμών των pixel Παρακάτω φαίνονται αναλυτικά τα δυνατά ορίσματα που μπορούν να χρησιμοποιηθούν: 55

56 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 3.5: Τα δυνατά ορίσματα της regionprops()[16] Ακολουθεί μια εκδοχή μιας συνάρτησης που κατασκευάστηκε στο MATLAB κατά τη διάρκεια των δοκιμών. Σαν είσοδο δέχεται μια δυαδική εικόνα BW που έχει προκύψει από μία μέθοδο ανίχνευσης χρώματος ανθρωπίνου δέρματος. Στη συνέχεια με το όρισμα FilledImage η regionprops() σχηματίζει τις περιοχές των pixel που αναπαριστούν δέρμα, αποβάλλοντας μικρές περιοχές και ενώνοντας μικρές γειτονικές. Έπειτα, από τη νέα δυαδική εικόνα BW2 λαμβάνονται ορισμένες ιδιότητες των περιοχών. Στη συγκεκριμένη εκδοχή, δημιουργείται ένα διάνυσμα για τη μεγαλύτερη περιοχή, γνωρίζοντας τις υπό δοκιμή εικόνες. Το τελικό διάνυσμα περιέχει πληροφορίες για τον αριθμό των pixel της περιοχής, τη θέση του Κέντρου της και για τη πολυπλοκότητα του σχήματός της συγκρίνοντάς το με έναν κύκλο που έχει τον ίδιο αριθμό pixels. function [feature,area,centroid]=hand_detector_vector_4(bw); s2 = regionprops(bw, 'FilledImage'); BW2= s2.filledimage; % figure, imshow(bw2) s3 = regionprops(bw2, 'Area','EquivDiameter','Perimeter','Centroid'); num_struct=length(s3); Area_all=zeros(num_struct,1); 56

57 Κεφάλαιο 3 for i=1:num_struct Area_all(i)=s3(i).Area; end [Area,I] = max(area_all); Eq=s3(I).EquivDiameter; Eq_Cycle=2*pi*(Eq/2); Perimeter=s3(I).Perimeter; Centroid=s3(I).Centroid; feature = (Perimeter - Eq_Cycle)/Eq_Cycle; Κώδικας 3.1: Ένα παράδειγμα συνάρτησης που χρησιμοποιεί τη regionprops() για εξαγωγή ιδιοτήτων περιοχών με δέρμα Ύστερα από δοκιμές, τα ποσοστά ορθής ανίχνευσης ήταν καλά αλλά όχι ικανοποιητικά υψηλά. Επιπλέον, επειδή η regionprops χρησιμοποιεί μορφολογικά φίλτρα, θα ήταν δύσκολη η υλοποίησή της για εκτέλεση σε πραγματικό χρόνο. Οπότε αναζητήθηκε άλλη μέθοδος γρήγορης ανίχνευσης αντικειμένων. 3.5 Η κατά Viola Jones Ανίχνευση Αντικειμένων Αφού δοκιμάστηκαν διάφοροι τρόποι ανίχνευσης αντικειμένων και μελετώντας τη βιβλιογραφία, αποφανθήκαμε ότι η ανίχνευση κατά Viola Jones θα μπορούσε να επιλεγεί για να ενσωματωθεί στο σύστημά μας, καθώς μπορεί να συνδυάσει ταχύτητα και αποτελεσματικότητα. Στις επόμενες ενότητες αναλύεται διεξοδικά αυτή η μέθοδος Εισαγωγή Η κατά Viola Jones ανίχνευση αντικειμένων είναι η πρώτη τεχνική αυτού του είδους που κατάφερε ανταγωνιστικά αποτελέσματα σε ανίχνευση πραγματικού χρόνου και προτάθηκε το 2001 από τους Paul Viola και Michael Jones [12]. Αν και μπορεί να εκπαιδευτεί για να ανιχνεύει σχεδόν οποιοδήποτε αντικείμενο, αρχικά υλοποιήθηκε για να επιλύσει κυρίως το πρόβλημα της ανίχνευσης προσώπων. 57

58 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Οι Viola και Jones πρότειναν νέες τεχνικές σε πολλά στάδια της εκπαίδευσης ενός ανιχνευτή. Αρχικά πρότειναν μία νέα αναπαράσταση εικόνων που την ονόμασαν «Integral Image» (Ολοκληρωμένη Εικόνα) που επιτρέπει γρήγορο υπολογισμό διαφόρων χαρακτηριστικών που χρησιμοποιούνται στη συνέχεια. Έπειτα, πρότειναν έναν αλγόριθμο εκπαίδευσης που στηρίζεται στον AdaBoost, ο οποίος επιλέγει κάποια χαρακτηριστικά από ένα μεγάλο σύνολο χαρακτηριστικών υπολογιστικής όρασης και παράγει έναν πολύ αποτελεσματικό ταξινομητή. Τέλος πρότειναν μία μέθοδο που συνδυάζει πιο περίπλοκους ταξινομητές, δημιουργώντας μία σειρά από στάδια σε μορφή «cascade» (καταρράκτη). Αυτό επιτρέπει τη γρήγορη παράλειψη περιοχών που ανήκουν στο φόντο και την εξονυχιστική μελέτη αποκλειστικά σε περιοχές που μοιάζουν στο υπό ανίχνευση αντικείμενο. Αυτός ο καταρράκτης μπορεί να απεικονιστεί ως ένας μηχανισμός που επικεντρώνεται σε αντικείμενα και εγγυάται στατιστικώς ότι οι παραλειπόμενες περιοχές είναι απίθανο να περιέχουν το αντικείμενο ενδιαφέροντος. Στην ανίχνευση προσώπων, ο ανιχνευτής τρέχει στα 15 καρέ ανά δευτερόλεπτο χωρίς να προσφεύγει σε σύγκριση εικόνων ή ανίχνευση χρώματος δέρματος Εξαγωγή χαρακτηριστικών Ο ανιχνευτής Viola Jones ταξινομεί εικόνες βασιζόμενος σε κάποια απλά χαρακτηριστικά. Για πολλούς λόγους δεν χρησιμοποιούνται απευθείας οι τιμές των pixels αλλά διάφορα χαρακτηριστικά. Ο πιο σημαντικός είναι ότι τα χαρακτηριστικά μπορούν εύκολα να κωδικοποιηθούν. Επίσης στη προκειμένη περίπτωση προτιμάται η χρήση χαρακτηριστικών καθώς ένα σύστημα που δουλεύει σε επίπεδο pixel είναι πολύ πιο αργό. Τα χαρακτηριστικά που χρησιμοποιούνται είναι τύπου Haar. Πιο συγκεκριμένα, χρησιμοποιούνται τρία είδη χαρακτηριστικών. 1. Τα χαρακτηριστικά δύο ορθογωνίων: Οριοθετείται μια περιοχή χωρισμένη σε δύο ορθογώνια. Υπολογίζεται η διαφορά μεταξύ των αθροισμάτων των pixels μέσα στις δύο ορθογώνιες περιοχές. Αυτές οι περιοχές έχουν ίδιο μέγεθος και σχήμα και είναι οριζόντια ή κάθετα γειτονικές, όπως φαίνεται στη παρακάτω εικόνα. 2. Τα χαρακτηριστικά τριών ορθογωνίων: Οριοθετείται μια περιοχή χωρισμένη σε τρία ορθογώνια. Υπολογίζεται το άθροισμα των pixels των δύο εξωτερικών ορθογωνίων και αφαιρείται με το άθροισμα των pixels του κεντρικού. 3. Τα χαρακτηριστικά τεσσάρων ορθογωνίων: Οριοθετείται μια περιοχή χωρισμένη σε τέσσερα ορθογώνια. Επιλέγονται ανά δύο τα ορθογώνια που είναι διαγώνια μεταξύ τους και 58

59 Κεφάλαιο 3 αθροίζονται οι τιμές των pixels. Στη συνέχεια υπολογίζεται η διαφορά μεταξύ των δύο αθροισμάτων. Εικόνα 3.6: Παραδείγματα ορθογώνιων περιοχών για την εξαγωγή των χαρακτηριστικών [12]. Στην παραπάνω εικόνα φαίνονται κάποια παραδείγματα ορθογώνιων περιοχών. Το άθροισμα των pixels που είναι στα άσπρα ορθογώνια αφαιρείται με το άθροισμα των pixels μέσα στα γκρι ορθογώνια. Στις εικόνες Α και Β απεικονίζονται χαρακτηριστικά δύο ορθογωνίων, στη C τριών ορθογωνίων και στη D τεσσάρων ορθογωνίων. Στην αρχική τους υλοποίηση οι Viola και Jones, είχαν ρυθμίσει την ελάχιστη ανάλυση του ανιχνευτή στα 24x24. Οπότε το σύνολο των χαρακτηριστικών ορθογωνίων είναι αρκετά μεγάλο, πάνω από [12] Η Ολοκληρωμένη Εικόνα (Integral Image) Τα χαρακτηριστικά ορθογωνίων μπορούν να υπολογιστούν πολύ γρήγορα αν χρησιμοποιηθεί μία ενδιάμεση αναπαράσταση για την εικόνα η οποία ονομάζεται integral image (Ολοκληρωμένη Εικόνα). Η integral image στη περιοχή περιέχει το άθροισμα των τιμών των άνω και αριστερά του pixels. Δηλαδή:, (3.1) όπου είναι η integral image και είναι η αρχική εικόνα. 59

60 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Εικόνα 3.7: Ο υπολογισμός της integral image [13]. Χρησιμοποιώντας τις σχέσεις: (3.2) (3.3) (όπου είναι το άθροισμα της σειράς ως εκείνο το σημείο,, η integral εικόνα μπορεί να υπολογισθεί με μόνο ένα πέρασμα από την αρχική εικόνα. Χρησιμοποιώντας την integral image, οποιοδήποτε άθροισμα τετραγώνου μπορεί να υπολογισθεί χρησιμοποιώντας μόνο τέσσερις πίνακες, όπως φαίνεται στο παρακάτω παράδειγμα. Έστω ότι θέλουμε να υπολογίσουμε το άθροισμα των pixels μέσα στο ορθογώνιο D, στη παρακάτω εικόνα: 60

61 Κεφάλαιο 3 Εικόνα 3.8: Παράδειγμα υπολογισμού ενός αθροίσματος [12]. Μπορεί να υπολογιστεί χρησιμοποιώντας τέσσερις πίνακες. Η τιμή της integral image στη θέση 1 είναι το άθροισμα των pixels στο ορθογώνιο Α. Η τιμή στη θέση 2 είναι, στη θέση 3 είναι και στη θέση 4 είναι. Οπότε, το άθροισμα των pixels μέσα στο D μπορεί να υπολογιστεί με τη πράξη. Αντίστοιχα, η διαφορά μεταξύ δύο αθροισμάτων τετραγώνων μπορεί να υπολογισθεί χρησιμοποιώντας 8 πίνακες. Αφού τα χαρακτηριστικά δύο ορθογωνίων, όπως ορίστηκαν παραπάνω, αφορούν γειτονικά αθροίσματα, μπορούν να υπολογιστούν χρησιμοποιώντας έξι πίνακες, οχτώ στη περίπτωση χαρακτηριστικών τριών ορθογωνίων και εννιά για χαρακτηριστικά τεσσάρων ορθογωνίων. Τα χαρακτηριστικά ορθογωνίων αν και είναι ευαίσθητα στη παρουσία ακμών, πλευρών και άλλων απλών δομών παρέχουν περιορισμένες δυνατότητες περιστροφής (μόνο κάθετα, οριζόντια και διαγώνια). Έτσι σε εφαρμογές όπως συμπίεση εικόνας, ανάλυση υφής και λεπτομερή ανάλυση ορίων μειονεκτούν έναντι άλλων χαρακτηριστικών. Το σύνολο των ορθογωνίων χαρακτηριστικών παρέχει μία πλούσια αναπαράσταση της εικόνας η οποία μπορεί να υποστηρίξει αποτελεσματική εκπαίδευση Οι Αλγόριθμοι Εκμάθησης του Ταξινομητή Έστω ένα σύστημα με ένα σύνολο χαρακτηριστικών και ένα σύνολο εκπαιδευμένων δειγμάτων με εικόνες που περιέχουν το αντικείμενο ενδιαφέροντος (positive images) και με εικόνες που δεν το περιέχουν (negative images). Θα μπορούσε να χρησιμοποιηθεί οποιοσδήποτε αλγόριθμος εκμάθησης ταξινομητή για την εκμάθηση του συστήματος. Στην υλοποίησή τους, οι Viola και Jones 61

62 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο χρησιμοποίησαν μία παραλλαγή του Adaboost, και για την επιλογή ενός μικρότερου συνόλου χαρακτηριστικών και για την εκπαίδευση του ταξινομητή. Ο αλγόριθμος εκμάθησης Adaboost, στην αρχική του μορφή, χρησιμοποιείται για να ενισχύσει (boost) την απόδοση ενός απλού και συνήθως αδύναμου αλγόριθμου εκμάθησης. Όπως ειπώθηκε στη προηγούμενη ενότητα, στο σύστημα των Viola και Jones κάθε υποπλαίσιο μιας εικόνας αντιστοιχούσε σε περισσότερα από χαρακτηριστικά ορθογωνίων. Αν και τα χαρακτηριστικά μπορούν να υπολογιστούν πολύ γρήγορα, ο υπολογισμός τους για όλες τις διαθέσιμες εικόνες είναι ασύμφορος. Η κύρια υπόθεση των δύο ερευνητών, που επιβεβαίωσαν με την υλοποίησή τους, είναι ότι ένας πολύ μικρός αριθμός αυτών των χαρακτηριστικών αρκεί, ώστε ο συνδυασμός τους να μας οδηγήσει σε έναν πολύ αποτελεσματικό ταξινομητή. Η κύρια πρόκληση είναι να βρεθούν αυτά τα χαρακτηριστικά. Ο αδύναμος αλγόριθμος εκμάθησης σχεδιάζεται με τέτοιο τρόπο ώστε να επιλέξει ένα μόνο χαρακτηριστικό το οποίο να διαχωρίζει τα positives δείγματα με τα negatives με το καλύτερο τρόπο. Για κάθε χαρακτηριστικό, ο αλγόριθμος εκμάθησης καθορίζει μία βέλτιστη τιμή κατωφλίου, ώστε το σύνολο των αταξινόμητων δειγμάτων να είναι όσο το δυνατό μικρότερο. Έστω επομένως ένας αδύναμος ταξινομητής που αποτελείται από ένα χαρακτηριστικό, μία τιμή κατωφλίου και μία τιμή parity η οποία υποδεικνύει την κατεύθυνση του πρόσημου της ανισότητας, όπως φαίνεται στη παρακάτω σχέση: (3.4) Στην υλοποίηση των δύο ερευνητών, το εικόνας. είναι ένα πλαίσιο διαστάσεων σε pixels 24x24 μίας Στη πράξη, κανένα χαρακτηριστικό δεν μπορεί να εκτελέσει ταξινόμηση με μικρό ποσοστό σφάλματος. Χαρακτηριστικά που έχουν επιλεχθεί σε αρχικά στάδια της ενίσχυσης έχουν ποσοστά σφάλματος μεταξύ 0,1 και 0,3. Χαρακτηριστικά που έχουν επιλεχθεί σε επόμενα στάδια και η διαδικασία γίνεται όλο και πιο περίπλοκη, τα ποσοστά σφάλματος είναι μεταξύ 0,4 και 0,5. 62

63 Κεφάλαιο 3 Εικόνα 3.9: Πτώση ποσοστού σφάλματος ταξινομητή κατά την αύξηση των σταδίων ενίσχυσης [13] Ο Αλγόριθμος Εκμάθησης AdaBoost Όπως ειπώθηκε στην προηγούμενη ενότητα, οι Viola και Jones, χρησιμοποίησαν τον AdaBoost ώστε να ενισχύσουν την απόδοση ενός αδύναμου ταξινομητή. Παρακάτω περιγράφονται αναλυτικά τα βήματα του αλγορίθμου. 1. Έστω ένα σύστημα από παραδείγματα εικόνων όπου για negative και positive παραδείγματα αντίστοιχα. 2. Αρχικοποίηση των βαρών για αντίστοιχα, όπου m και l είναι ο αριθμός των negatives και positives αντίστοιχα. 3. Βρόχος επανάληψης για : a. Νορμαλοποίηση των βαρών, (3.5) έτσι ώστε η παράμετρος να αναπαριστά μία κατανομή πιθανότητας. b. Για κάθε χαρακτηριστικό,, εκπαίδευση ενός ταξινομητή ο οποίος είναι περιορισμένος να χρησιμοποιεί μόνο ένα χαρακτηριστικό. Το ποσοστό σφάλματος του ταξινομητή εκτιμάται βάση του,. c. Επιλογή του ταξινομητή,, με το μικρότερο ποσοστό σφάλματος. d. Ενημέρωση των βαρών: (3.6) 63

64 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο όπου αν το παράδειγμα είναι ορθώς ταξινομημένο, διαφορετικά και. 4. O τελικός ισχυρός ταξινομητής είναι: T 1 1 a h ( x) t1 2 t1 h x t t t (3.7) 0 άί όπου. T a Παράδειγμα υλοποίησης του AdaBoost Έστω ένα πρόβλημα με τα παρακάτω χαρακτηριστικά και θέλουμε να εφαρμόσουμε τον AdaBoost. Απεικονίζεται η ταξινόμηση του πρώτου, δεύτερου και του τελικού ταξινομητή Εικόνα 3.10α: Τα χαρακτηριστικά του παραδείγματος 64

65 Κεφάλαιο 3 Εικόνα 3.10β: Ο πρώτος ταξινομητής Εικόνα 3.10γ: Ο δεύτερος ταξινομητής Εικόνα 3.10δ: Οι πρώτοι τρεις ταξινομητές (από αριστερά προς τα δεξιά) 65

66 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Εικόνα 3.10ε: Ο τελικός ταξινομητής εκπαιδευμένος με ενίσχυση [13] Εφαρμογή της μεθόδου Viola Jones στην ανίχνευση προσώπων Όπως ειπώθηκε στις προηγούμενες ενότητες, ή προτεινόμενη υλοποίηση των Viola και Jones το 2001 ήταν στην ανίχνευση προσώπων. Στα πρώτα τους πειράματα κατασκεύασαν έναν ταξινομητή με 200 χαρακτηριστικά και απέδιδε 95% ποσοστό ανίχνευσης με ποσοστό λάθους ανίχνευσης 1 στα Αυτά τα αποτελέσματα ήταν αξιοσημείωτα αλλά όχι επαρκή για διάφορες εφαρμογές πραγματικού χρόνου. Ωστόσο, το σύστημα ήταν πολύ γρήγορο για εκείνη την εποχή καθώς για να «σαρωθεί» μια εικόνα διαστάσεων 384x288 απαιτούνταν μόνο 0,7 δευτερόλεπτα. Για να αυξηθεί η απόδοση του ταξινομητή θα έπρεπε να ενσωματωθούν και άλλα χαρακτηριστικά που θα αύξαναν τον χρόνο υπολογισμού. Ενδιαφέρον παρουσιάζουν τα αρχικά χαρακτηριστικά ορθογωνίων που επιλέγονται από τον AdaBoost. Εύκολα όμως μπορούν να δικαιολογηθούν. Η πρώτη επιλογή χαρακτηριστικού φαίνεται να βασίζεται στην ιδιότητα ότι η περιοχή των ματιών είναι συχνά πιο σκοτεινή από τη περιοχή της μύτης και των ζυγωματικών. Αυτό φαίνεται χαρακτηριστικά στη παρακάτω εικόνα: 66

67 Κεφάλαιο 3 Εικόνα 3.11: Παράδειγμα επιλογής χαρακτηριστικού ορθογωνίων στην ανίχνευση προσώπου [10]. Στο εικονιζόμενο παράδειγμα, φαίνονται τα δύο πρώτα χαρακτηριστικά που επιλέγονται από τον AdaBoost. Στη πάνω σειρά απεικονίζονται αυτά τα δύο χαρακτηριστικά και από κάτω σε τι αντιστοιχούν σε μία τυχαία εικόνα προσώπου που χρησιμοποιήθηκε κατά την εκπαίδευση. Το πρώτο χαρακτηριστικό μετρά την διαφορά της έντασης των pixels μεταξύ της περιοχής των ματιών και του πάνω μέρους των ζυγωματικών. Το δεύτερο χαρακτηριστικό, συγκρίνει τις εντάσεις των pixels μεταξύ της περιοχής των ματιών και της μύτης Η κατασκευή του cascade ταξινομητή Σε αυτή την ενότητα θα περιγραφεί o αλγόριθμος κατασκευής ενός cascade (καταρράκτη) από ταξινομητές, ο οποίος επιτυγχάνει αυξημένης απόδοσης ανίχνευση και παράλληλα ελαχιστοποιεί δραματικά τον χρόνο των υπολογισμών. Η κύρια ιδέα είναι ότι οι απλοί ενισχυμένοι ταξινομητές, άρα και γρήγοροι στους υπολογισμούς, μπορούν εύκολα να απορρίψουν παράθυρα εικόνων που δεν περιέχουν το υπό ανίχνευση αντικείμενο ενώ παράλληλα να εντοπίζουν σχεδόν όλα εκείνα που το περιέχουν. Επομένως, η τιμή κατωφλίου ενός τέτοιου ταξινομητή μπορεί να προσαρμοστεί με τέτοιο τρόπο έτσι ώστε το ποσοστό απόρριψης ενός positive πλαισίου να είναι κοντά στο μηδέν. Άρα συνοπτικά, για την απόρριψη των περισσότερων πλαισίων χρησιμοποιούνται απλοί ταξινομητές και στη συνέχεια καλούνται πιο περίπλοκοι ώστε να επιτευχθούν όσο το δυνατόν μικρότερα ποσοστά λανθασμένης ανίχνευσης. Η διαδικασία ανίχνευσης στηρίζεται σε ένα «δέντρο αποφάσεων», που ονομάζουμε cascade (καταρράκτη), όπως φαίνεται και στη παρακάτω εικόνα: 67

68 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Εικόνα 3.12: Σχηματική περιγραφή ενός cascade ταξινομητή [10]. Σε κάθε πλαίσιο των εξεταζομένων εικόνων, εφαρμόζεται μία σειρά από ταξινομητές σαν αυτούς που φαίνονται παραπάνω. Ο πρώτος ταξινομητής αφαιρεί έναν μεγάλο αριθμό δειγμάτων και απαιτεί πολύ λίγους υπολογισμούς. Τα επόμενα στάδια αφαιρούν περεταίρω negatives αλλά απαιτούν περισσότερους υπολογισμούς. Μετά από αρκετά στάδια επεξεργασίας, ο εναπομείναντας αριθμός πλαισίων θα έχει μειωθεί δραστικά έτσι ώστε να ακολουθήσει περαιτέρω επεξεργασία: είτε ένας άλλος cascade είτε ένα άλλο σύστημα ανίχνευσης που θα απαιτεί περισσότερους υπολογισμούς αλλά θα εξασφαλίζει καλά ποσοστά ορθής ανίχνευσης. Εν ολίγοις, κάθε πλαίσιο που υπολογίζεται ως positive από κάποιον classifier μεταβιβάζεται στο επόμενο στάδιο το οποίο θα απαιτεί περισσότερους υπολογισμούς. Σε οποιαδήποτε στάδιο, αν το πλαίσιο θεωρηθεί negative, απευθείας απορρίπτεται. Τα στάδια στον cascade κατασκευάζονται από ταξινομητές που έχουν προκύψει από τον AdaBoost και έχουν τέτοια τιμή κατωφλίου ώστε να εξασφαλίζονται μικρά ποσοστά απόρριψης positives πλαισίων. Ας σημειωθεί ότι σύμφωνα με την αρχική μορφή του AdaBoost, η τιμή κατωφλίου σχεδιάζεται ώστε το ποσοστό σφάλματος να είναι μικρό. Γενικά, μικρές τιμές κατωφλίου αποδίδουν υψηλά ποσοστά ανίχνευσης αλλά και υψηλά ποσοστά απόρριψης positives. Για παράδειγμα, πολύ καλός ταξινομητής πρώτου σταδίου θα ήταν ένας ισχυρός ταξινομητής δύο χαρακτηριστικών με μικρή τιμή κατωφλίου έτσι ώστε να ελαχιστοποιείται το ποσοστό απόρριψης positive πλαισίων. Οι υπολογισμοί ενός τέτοιου ταξινομητή απαριθμούν περίπου 60 εντολές μικροεπεξεργαστή. Είναι απίθανο να κατασκευαστεί ένα πιο απλό φίλτρο που να έχει υψηλότερα ποσοστά ορθής απόρριψης. Η δομή του cascade στηρίζεται στο γεγονός ότι η πλειοψηφία των πλαισίων μίας εικόνας δεν περιέχει το υπό ανίχνευση αντικείμενο. Γι αυτό το λόγο, ο cascade προσπαθεί να απορρίψει όσο το δυνατό περισσότερα negatives στα πρώτα στάδια. Στη περίπτωση που ένα πλαίσιο είναι positive, θα ενεργοποιήσει όλους τους ταξινομητές. Ωστόσο, αυτό θα είναι ένα εξαιρετικά σπάνιο γεγονός. 68

69 Κεφάλαιο 3 Όπως σε κάθε δέντρο απόφασης, οι ταξινομητές στα μετέπειτα στάδια είναι εκπαιδευμένοι με δείγματα που περνούν ως positive από τα προηγούμενα. Έτσι, ο δεύτερος ταξινομητής έχει να αντιμετωπίσει πιο δύσκολο έργο απ ότι ο πρώτος. Τα παραδείγματα που περνούν από το πρώτο στάδιο είναι πιο δύσκολα από τα τυπικά παραδείγματα. Σε όσο πιο προχωρημένο στάδιο βρίσκεται ένας ταξινομητής τόσο πιο δύσκολο έργο έχει να επιτελέσει. Αυτό οδηγεί τη χαρακτηριστική καμπύλη ROC να πέσει. Σε μία δεδομένη τιμή ποσοστού ανίχνευσης, προχωρημένοι σε στάδιο ταξινομητές έχουν υψηλότερα ποσοστά λανθασμένης ανίχνευσης. Εικόνα 3.13: Αλγοριθμικό σχεδιάγραμμα λειτουργίας ενός cascade ταξινομητή [11] Εκπαίδευση του cascade ταξινομητή Στη διαδικασία εκπαίδευσης του cascade ταξινομητή εμπλέκονται δύο συμβιβασμοί που πρέπει να ληφθούν υπόψη. Στις περισσότερες περιπτώσεις, ταξινομητές με περισσότερα χαρακτηριστικά έχουν καλύτερα ποσοστά ορθής ανίχνευσης και υποδεέστερα για λανθασμένης. Ταυτόχρονα όμως, απαιτούν περισσότερο υπολογιστικό χρόνο. Οπότε, κατ αρχήν θα πρέπει να τηρηθεί μια ισορροπία ως προς 1. Τον αριθμό των σταδίων ταξινόμησης 2. Τον αριθμό των χαρακτηριστικών για κάθε στάδιο 3. Τη τιμή κατωφλίου για κάθε πλαίσιο ώστε να ελαχιστοποιηθεί ο συνολικός αριθμός των χαρακτηριστικών. Δυστυχώς, η εύρεση αυτών των τιμών είναι πολύ δύσκολη. Στη πράξη, για τη κατασκευή ενός αποτελεσματικού cascade ταξινομητή χρησιμοποιείται μια πολύ απλή αλλά αποτελεσματική μέθοδος και στηρίζεται στο γεγονός ότι κάθε στάδιο στον cascade μειώνει το ποσοστό απόρριψης positive δείγματος και το ποσοστό ορθής ανίχνευσης: 69

70 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 1. Επιλέγεται μία τιμή ως ελάχιστο ποσοστό απόρριψης positive και μια τιμή ως μέγιστο ποσοστό ορθής ανίχνευσης. 2. Κάθε στάδιο εκπαιδεύεται προσθέτοντας χαρακτηριστικά μέχρι να επιτευχθούν οι παραπάνω τιμές. (Αυτά τα ποσοστά καθορίζονται τρέχοντας τον ανιχνευτή στα δείγματα που έχουν καθοριστεί για αξιολόγηση) 3. Προσθέτουμε στάδια μέχρι να επιτευχθεί ο συνολικός στόχος του συστήματος για τα παραπάνω ποσοστά. 3.6 Η Ταχεία Ανίχνευση στο σύστημά μας Στο συνολικό μας σύστημα, υπάρχει η ανάγκη ανίχνευσης της χειρονομίας αρχικοποίησης του χεριού που είναι η παλάμη με ανοικτά δάκτυλα. Οπότε, απαιτείται η εκτέλεση ενός αλγόριθμου, σαν αυτούς που προαναφέρθηκαν παραπάνω. Λαμβάνοντας υπόψη τη βιβλιογραφία, την υλοποίηση παρόμοιων εφαρμογών από άλλους ερευνητές προτιμήθηκε η τεχνική των Viola Jones. Όπως έχει αναφερθεί στο Κεφάλαιο 2, ο αλγόριθμος εντοπισμού της ανοικτής παλάμης δεν θα εφαρμόζεται σε όλο το καρέ της εικόνας αλλά μόνο στα τμήματα όπου έχει ανιχνευτεί χρώμα ανθρωπίνου δέρματος. Το γεγονός ότι ο αλγόριθμος Viola Jones εκτελείται με τη μέθοδο του cascade, εξασφαλίζει την υψηλή ταχύτητα εκτέλεσης του τελικού συστήματος Εκπαίδευση του Viola Jones Ανιχνευτή Η εκπαίδευση του Viola Jones είναι ένα πολύ σημαντικού στάδιο. Αν η εκπαίδευση δεν έχει γίνει με σωστές παραμέτρους ή σωστά δείγματα, η ανίχνευση στη συνέχεια δεν θα είναι ορθή. Απαιτεί ιδιαίτερα μεγάλη υπολογιστική ισχύ και χρόνο. Οπότε χρειάζεται ένα αρκετά καλό υπολογιστικό σύστημα με αρκετή μνήμη. Για να εκκινήσει η διεργασία, αρχικά πρέπει να συλλεχθούν δύο κατηγορίες δειγμάτων: Positives: Δείγματα του υπό ανίχνευση αντικειμένου Negatives: Δείγματα από αντικείμενα και τμήματα του υποβάθρου (backgrounds) που είναι πιθανό να συναντήσει το σύστημα ανίχνευσης αλλά δεν πρέπει να τα ανιχνεύσει ως το ζητούμενο αντικείμενο. 70

71 Κεφάλαιο 3 Η εκπαίδευση του ανιχνευτή Viοla Jones στη πραγματικότητα αφορά την κατασκευή ενός αρχείου.xml. Αυτό το αρχείο στη συνέχεια το δέχεται μια συνάρτηση που πραγματοποιεί την Viola Jones ανίχνευση. Η παραγωγή του.xml αρχείου μπορεί να κατασκευαστεί με δύο τρόπους: 1. Με OpenCV και 2. Mε MATLAB, με το Computer Vision Toolbox. Δημιουργήθηκαν πολλά αρχεία.xml και με τις δύο παραπάνω μεθόδους μέχρι να προκύψει το τελικό. Παρακάτω αναφέρεται αναλυτικά η εκπαίδευση και με τους δύο τρόπους Συλλογή ή Κατασκευή των Εκπαιδευμένων Δειγμάτων Κατασκευή των Positives Στη περίπτωσή μας, κατασκευάστηκαν positives δείγματα με τη χειρονομία αρχικοποίησης, που είναι η παλάμη με ανοικτά τα δάκτυλα. Αυτή είναι η χειρονομία που θέλουμε να ανιχνεύει τελικά ο ανιχνευτής. Για να αποφευχθεί η υπέρ-εκπαίδευση και να εξασφαλιστεί η ορθότερη ανίχνευση στο σύστημα, κατασκευάστηκαν δείγματα με: ελαφρώς διαφορετικές οπτικές γωνίες διαφορετικό φωτισμό διαφορετικό background διαφορετική μικρής γωνίας περιστροφή και κλίσης του χεριού διαφορετικούς ανθρώπους παλάμες και από αριστερό και από δεξί χέρι Είναι πολύ σημαντικό να τηρηθούν οι παραπάνω παράμετροι. Στις πρώτες δοκιμές κατασκευάστηκαν.xml αρχεία με μικρότερη ποικιλία από positives και η απόδοση ήταν σημαντικά υποδεέστερη. Το τελικό.xml αρχείο, εκπαιδεύτηκε με περισσότερα από 3000 positives δείγματα. Παρακάτω φαίνονται κάποια χαρακτηριστικά positives: 71

72 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 3.14: Μερικά Χαρακτηριστικά Positives Κατασκευή των Negatives Τα negatives πρέπει να περιέχουν backgrounds και διάφορα αντικείμενα που δεν πρέπει να ανιχνευθούν ως το αναζητούμενο αντικείμενο. Στη περίπτωσή μας, το σύστημα θα «βλέπει» κυρίως εσωτερικούς χώρους. Οπότε τα negatives πρέπει να περιέχουν εσωτερικούς χώρους όπως γραφείων και σπιτιών. Επομένως προστέθηκαν στα negatives τέτοιες εικόνες. Ορισμένες κατασκευάστηκαν βιντεοσκοπώντας εσωτερικούς χώρους και ορισμένες αντλήθηκαν από βάσεις δεδομένων αυτής της κατηγορίας. 72

73 Κεφάλαιο 3 Υπάρχει σοβαρή πιθανότητα, ο ανιχνευτής λανθασμένα να ανιχνεύσει ως χέρια πρόσωπα ανθρώπων ή ακόμα και ολόκληρους ανθρώπους.. Για αυτό το λόγο προστέθηκαν στα negatives και εικόνες από βάσεις εικόνων προσώπων και πεζών. Το τελικό.xml αρχείο, εκπαιδεύτηκε με περισσότερα από negatives δείγματα. Παρακάτω φαίνονται κάποια χαρακτηριστικά negatives. Σχήμα 3.15: Μερικά Χαρακτηριστικά Negatives Εκπαίδευση του Viola Jones με MATLAB Στις τελευταίες εκδόσεις του MATLAB, χρησιμοποιώντας το Computer Vision Toolbox, μπορεί να εκπαιδευτεί ένας ανιχνευτής Viola Jones και να παραχθεί το.xml αρχείο [14]. Η κύρια συνάρτηση που χρησιμοποιείται είναι η traincascadeobjectdetector () η οποία δέχεται ως εισόδους τα εξής: 1. positiveinastances: τα positives σε δομή με τα στοιχεία: a. imagefilename: το όνομα του αρχείου της εικόνας 73

74 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο b. objectboundingboxes: τη περιοχή/ες της εικόνας που βρίσκεται το αντικείμενο. Πιο συγκεκριμένα είναι ένας πίνακας Mx4 όπου Μ οι φορές που εμφανίζεται το αντικείμενο στη συγκεκριμένη εικόνα. Ο πίνακας περιγράφει ένα πλαίσιο [x,y,dx,dy]. 2. negativeimages: η ακριβής διεύθυνση του φακέλου που βρίσκονται τα negatives σε δομή string 3. outputxmlfilename: το όνομα του.xml αρχείου που θα προκύψει. Επιπλέον, η traincascadeobjectdetector () δέχεται προαιρετικά και κάποιες επιπλέον επιλογές. Αν δεν οριστούν, αυτόματα καθορίζονται κάποιες προεπιλεγμένες τιμές. Οι επιλογές αυτές είναι: ObjectTrainingSize : Το ελάχιστο μέγεθος του αντικειμένου [ύψος, πλάτος]. NumCascadeStages : Το μέγιστο αριθμό σταδίων του cascade. Μέγιστη τιμή 20. Ωστόσο, παρόλο τον ορισμό αυτής της τιμής, βάση των positives, των negatives και της τιμής FalseAlarmRate, το σύστημα πολλές φορές σταματά την εκπαίδευση σε μικρότερο στάδιο διότι κρίνει πως δεν πρόκειται να κατασκευάσει καλύτερο ανιχνευτή με αυτά τα δεδομένα. Είναι ιδιαίτερα δύσκολο να φτάσει σε περισσότερα από 15 στάδια. FalseAlarmRate : Το μέγιστο ποσοστό λάθους ανίχνευσης ανά στάδιο. Εύρος τιμών (0,1]. Προεπιλεγμένη τιμή 0,5. TruePositiveRate : Το ελάχιστο ποσοστό ορθής ανίχνευσης. Εύρος τιμών (0,1]. Προεπιλεγμένη τιμή 0,995 FeatureType : Ο τύπος των χαρακτηριστικών. Οι επιλογές είναι: o Haar : Χαρακτηριστικά τύπου Haar (προεπιλεγμένη επιλογή) [10][12] o LBP : Local Binary Patterns [9] o HOG : Histogram of Oriented Gradients [4][5] Όσο αφορά το τύπο των χαρακτηριστικών, δοκιμάστηκαν και τα τρία είδη. Τα Haar είναι τα πιο δύσκολα σε εκπαίδευση απαιτώντας ιδιαίτερα πολύ υπολογιστικό χρόνο και ισχύ. Παρόλα αυτά πετυχαίνουν την καλύτερη απόδοση. Τα LBP εκπαιδεύονται πολύ πιο γρήγορα ωστόσο δεν πετυχαίνουν καλή απόδοση. Τα HOG είναι μια ενδιάμεση επιλογή, αλλά δεν πέτυχαν την επιθυμητή απόδοση. Γι αυτό το λόγο προτιμήθηκαν τα Haar. Η εκπαίδευση πρέπει να γίνει σε ένα αρκετά καλό υπολογιστικό σύστημα. Θα πρέπει να είναι 64-bit ώστε να μπορεί να χρησιμοποιηθεί αρκετή μνήμη RAM. Η συνολική του μνήμη RAM πρέπει να είναι τουλάχιστον 4GB και ανάλογα το μέγεθος των positives και negatives μπορεί να απαιτηθεί και πολύ περισσότερη. Σε αντίθετη περίπτωση, η εκπαίδευση κατά την αρχικοποίηση σταματά με σφάλμα «Out of Memory». Αυτό συμβαίνει καθώς κατά την αρχικοποίηση «φορτώνονται» όλα τα positives και negatives. 74

75 Κεφάλαιο 3 Παρακάτω φαίνεται ο κώδικας MATLAB που κατασκευάστηκε για την εκπαίδευση. Αρχικά φαίνεται ο κώδικας κατασκευής των κατάλληλων δομών που περιγράφηκαν παραπάνω. Έπειτα εκτελείται η traincascadeobjectdetector () με τα κατάλληλα ορίσματα. Τέλος γίνεται μία πρόχειρη δοκιμή του ανιχνευτή με το.xml που προέκυψε πάνω σε δύο εικόνες. % Create positiveinstances % Positives creation (.mat) cd positives files=dir('*.jpg'); rand=randperm(length(files),length(files)); n=1; for i=rand im=files(i).name; im=imread(im); % imshow(im) field1 = 'imagefilename'; value1 = {files(i).name}; field2 = 'objectboundingboxes'; width=size(im,2) - 1; height=size(im,1) - 1; value2 = {[1 1 width height]}; positiveinstances(n) = struct(field1,value1,field2,value2); n=n+1; end cd.. save('hands.mat','positiveinstances') %%% TRAINING %%%% clear all;close all;clear memory; % Training Parameters FalseAlarmRate = 0.05; new_hand_detector = 'my_hand_detector_haar_0.05_v4_ xml'; % xml file name FeatureType = 'Haar'; % 'HOG' (default) 'LBP' 'Haar' 75

76 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο NumCascadeStages = 20; % 20 (default) positive integer %%%% START %%%% disp('training initialisation...') load('hands.mat') positiveinstancesfolder=('c:\users\panagiotis\desktop\data_set\working_directory\codes\training_ca scade\train_the_cascade\version_4_230414\positives'); addpath(positiveinstancesfolder); negativeimages=fullfile('c:\users\panagiotis\desktop\data_set\working_directory\codes\training_cas cade\train_the_cascade\version_4_230414\negatives'); addpath(negativeimages) traincascadeobjectdetector(new_hand_detector, positiveinstances, negativeimages,'falsealarmrate', FalseAlarmRate,'ObjectTrainingSize',[80,80],'FeatureType',FeatureType,'NumCascadeStages',NumCa scadestages); %%%%%%%%%%%%%%%%%%%%%%% % Test with 2 pictures detector = vision.cascadeobjectdetector(new_hand_detector); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% img = imresize(imread('hand_test.jpg'),0.5); bbox = step(detector, img); detectedimg = insertobjectannotation(img, 'rectangle', bbox, 'hand'); figure; imshow(detectedimg); img = imresize(imread('hand_test2.jpg'),0.5); bbox = step(detector, img); detectedimg = insertobjectannotation(img, 'rectangle', bbox, 'hand'); figure; imshow(detectedimg); %%% REMOVE PATHS rmpath(positiveinstancesfolder); rmpath(negativeimages); Κώδικας 3.2: Κώδικας MATLAB για εκπαίδευση του Viola - Jones Εκπαίδευση του Viola Jones με OpenCV 76

77 Κεφάλαιο 3 Ένας Viola Jones ανιχνευτής μπορεί να εκπαιδευτεί και μέσω έτοιμων εφαρμογών της OpenCV [15] Πιο συγκεκριμένα, υπάρχουν δύο εφαρμογές: η opencv_haartraining και η opencv_traincascade Και οι δύο εφαρμογές είναι γραμμένες σε C++ και εκτελούν την ίδια διεργασία, με διαφορά ότι η opencv_traincascade είναι νεότερη και έχει τη δυνατότητα εκπαίδευσης με χαρακτηριστικά LBP. Επιπλέον υπάρχουν δύο ακόμη εργαλεία: opencv_createsamples: χρησιμοποιείται για τη προετοιμασία των positives και negatives. Βάση αυτών δημιουργεί μια βάση δεδομένων σε τέτοια δομή ώστε να είναι προσπελάσιμη από τις opencv_haartraining και opencv_traincascade opencv_performance :μπορεί να χρησιμοποιηθεί για την αξιολόγηση των ανιχνευτών που έχουν προκύψει μόνο από την opencv_haartraining Όλες οι παραπάνω εφαρμογές και εργαλεία μπορούν να αποκτηθούν από το επίσημο site της OpenCV όπου βρίσκονται οι C++κώδικες τους και τα αντίστοιχα χτισμένα αρχεία.exe για 32 και 64 bit συστήματα. Στη συνέχεια, μπορούν να εκτελεστούν χρησιμοποιώντας το Command Prompt των Windows αναγράφοντας τα κατάλληλα ορίσματα για κάθε εφαρμογή. Κατά τις δοκιμές μας, επιλέχθηκε η εκπαίδευση του Viola Jones με την opencv_traincascade. Πριν την εκτέλεση της, πρέπει να προετοιμαστούν τα positives και τα negatives ώστε να είναι σε μορφή προσπελάσιμη από την εφαρμογή. Τα negatives πρέπει να προετοιμαστούν χειροκίνητα ενώ τα positives επεξεργάζονται από την opencv_createsamples. Τα negatives πρέπει να απαριθμούνται σε ένα αρχείο bg.txt αναφέροντας τη πλήρη διεύθυνση κάθε αρχείου. Για παράδειγμα αν η δομή της διεύθυνσης των negatives είναι: Τότε το bg.txt θα πρέπει να αναγράφει: 77

78 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Οπότε με τον παρακάτω κώδικα MATLAB κατασκευάστηκε το bg.txt του συστήματος μας: clc;clear all;close all % Negatives creation % Create bg.txt % for opencv_traincascade cd negatives files=dir('*.jpg'); n=1; negatives = []; tmp_str = 'negatives/'; for i=1:length(files) im=files(i).name; value1 = strcat(tmp_str,files(i).name); negatives{n,1} = value1; n=n+1; end cd.. fileid = fopen('bg.txt','wt'); for i=1:length(negatives) fprintf (fileid, '%s \n',negatives{i}); end Κώδικας 3.3: Κώδικας MATLAB για δημιουργία του bg.txt Παρακάτω φαίνεται ένα χαρακτηριστικό μέρος του bg.txt που κατασκευάστηκε παραπάνω: negatives/311164_0_ contemporary-dining-room.jpg negatives/312983_0_ contemporary-dining-room.jpg negatives/313528_0_ eclectic-dining-room.jpg 78

79 Κεφάλαιο 3 negatives/317584_0_ dining-room.jpg negatives/324840_0_ traditional-dining-room.jpg negatives/ _72b42901f5_o.jpg negatives/326946_0_ modern-dining-room.jpg negatives/328119_0_ contemporary-dining-room.jpg negatives/329615_0_ contemporary-dining-room.jpg negatives/311164_0_ contemporary-dining-room.jpg negatives/312983_0_ contemporary-dining-room.jpg negatives/313528_0_ eclectic-dining-room.jpg Σχήμα 3.16: Χαρακτηριστικό μέρος του bg.txt Τα positives επεξεργάζονται από την εφαρμογή opencv_createsamples από την οποία προκύπτει ένα αρχείο.vec. Σαν είσοδο δέχεται: Ένα αρχείο.info, το οποίο είναι ένα αρχείο κειμένου που περιέχει: o Τη πλήρης διεύθυνση και το όνομα κάθε αρχείου o Τον αριθμό των φορών που απεικονίζεται το αντικείμενο Το/Τα πλαίσιο/α που βρίσκεται το αντικείμενο σε μορφή [x,y,dx,dy] Τον αριθμό των positives, με όρισμα -num Το πλάτος του πλαισίου του αντικειμένου, με όρισμα w Το ύψος του πλαισίου του αντικειμένου, με όρισμα h Το όνομα του.vec που θα προκύψει, με όρισμα vec. Για τη δημιουργία του αρχείου.info χρησιμοποιήθηκε ο παρακάτω MATLAB κώδικας clc;clear all;close all % Creation of hands.info % for opencv_createsamples % Positives creation (.txt) cd positives files=dir('*.jpg'); n=1; positives = []; 79

80 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο tmp_str = 'positives/'; for i=1:length(files) im=files(i).name; im=imread(im); value1 = strcat(tmp_str,files(i).name); width=size(im,2) - 1; height=size(im,1) - 1; value2 = {[1 1 width height]}; positives{n,1} = value1; positives{n,2} = 1; positives{n,3} = 1; positives{n,4} = 1; positives{n,5} = width; positives{n,6} = height; n=n+1; end cd.. fileid = fopen('hands.txt','wt'); for i=1:length(positives) fprintf (fileid, '%s %d %d %d %d %d \n',positives{i,:}); end Κώδικας 3.4: Κώδικας MATLAB για τη κατασκευή του hands.info Ακολουθεί η εκτέλεση της opencv_createsamples και η δημιουργία του.vec. Στο Command Prompt εκτελείται η παρακάτω εντολή: opencv_createsamples -info hands.info -num w 80 -h 80 -vec hands.vec Κώδικας 3.5 : Εντολές εκτέλεσης της opencv_createsamples Επιπλέον, με τη παρακάτω εντολή μπορεί να προσπελαστεί το.vec αρχείο (hands.vec) ώστε να γίνει έλεγχος και προβολή των positives (τα χέρια). 80

81 Κεφάλαιο 3 opencv_createsamples -vec hands.vec -w 80 -h 80 Κώδικας 3.6: Εντολές προσπέλασης του hands.vec Σε αυτό το σημείο, είναι όλα έτοιμα για την εκτέλεση της και να εκκινήσει η εκπαίδευση. Σαν είσοδο δέχεται: Το όνομα του φακέλου που θα αποθηκευτούν τα δεδομένα, με όρισμα -data To αρχείο.vec, με όρισμα vec Το αρχείο bg.txt, με όρισμα bg Τον αριθμό των positive δειγμάτων, με όρισμα numpos Τον αριθμό των negative δειγμάτων, με όρισμα numneg Τον αριθμό των σταδίων του cascade, με όρισμα numstages Τον τύπο των χρησιμοποιούμενων χαρακτηριστικών, με όρισμα featuretype Tις ελάχιστες διαστάσεις του αντικειμένου (πλάτος και ύψος), με ορίσματα w και h αντίστοιχα. Η opencv_traincascade δέχεται κι άλλα ορίσματα και αναφέρονται αναλυτικά στις οδηγίες της OpenCV [15]. Ακολουθεί ένα παράδειγμα εκτέλεσης της opencv_traincascade opencv_traincascade -data data -vec hands.vec -bg bg.txt -numpos numneg numstages 5 -w 80 -h 80 -featuretype LBP Κώδικας 3.7: Εντολές εκτέλεσης της opencv_traincascade Ενσωμάτωση του Viola Jones Ανιχνευτή στο σύστημά μας Στο δικό μας υπολογιστικό σύστημα, η εκπαίδευση μέσω OpenCV ήταν πολύ πιο χρονοβόρα. Παρείχε ωστόσο περισσότερη πληροφόρηση ανά στάδιο εκπαίδευσης. Η εκπαίδευση μέσω MATLAB, μπορούσε να διαρκέσει έως και αρκετές εβδομάδες, ανάλογα το υπολογιστικό σύστημα, τις παραμέτρους εκπαίδευσης (όπως τη τιμή του FalseAlarmRate) καθώς και τη ποσότητα των positives και negatives. Το τελικό.xml αρχείο έχει ακριβώς την ίδια δομή είτε προέλθει από εκπαίδευση μέσω MATLAB είτε από την OpenCV. Αυτό το αρχείο, μπορεί να χρησιμοποιήσει η συνάρτηση 81

82 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο vision.cascadeobjectdetector() του Computer Vision Toolbox του MATLAB ώστε να πραγματοποιήσει ανίχνευση της χειρονομίας αρχικοποίησης. Στο σύστημά μας, σε κάθε καρέ, πρώτα εκτελείται η ανίχνευση του χρώματος του ανθρωπίνου δέρματος. Στη συνέχεια, με μία τιμή κατωφλίου ως προς τον αριθμό των pixels απομονώνονται περιοχές που υπάρχει πιθανότητα να υπάρχει ανθρώπινο μέρος. Σε αυτές τις περιοχές, εκτελείται ανίχνευση Viola Jones, έτσι ώστε να αναζητηθεί η χειρονομία αρχικοποίησης. Παρακάτω φαίνονται κάποια χαρακτηριστικά παραδείγματα ανίχνευσης της χειρονομίας αρχικοποίησης: 82

83 83 Κεφάλαιο 3

84 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 3.17 : Μερικά χαρακτηριστικά παραδείγματα ανίχνευσης της χειρονομίας αρχικοποίησης Συζήτηση Σύνοψη 3 ου Κεφαλαίου Σε αυτό το κεφάλαιο αναζητήθηκαν αλγόριθμοι γρήγορης ανίχνευσης αντικειμένων ώστε να ο καταλληλότερος να χρησιμοποιηθεί για την ανίχνευση της χειρονομίας αρχικοποίησης στα σημεία όπου έχει ανιχνευθεί ανθρώπινο δέρμα. Τελικά επιλέχθηκε η ανίχνευση κατά Viola Jones. Αναλύθηκε ο συγκεκριμένος αλγόριθμος και ο τρόπος εκπαίδευσής του ανιχνευτή. Στο επόμενο κεφάλαιο θα περιγραφεί ο αλγόριθμος που θα αναλάβει την παρακολούθηση του χεριού. Σε αυτή τη φάση η χειρονομία θα αλλάζει καθώς ο χρήστης θα μπορεί να εκτελεί χειρονομίες πέραν από αυτή της αρχικοποίησης και το σύστημα θα πρέπει να είναι ικανό να παρακολουθήσει το χέρι του. 84

85 Κεφάλαιο 3 Βιβλιογραφία 3 ου Κεφαλαίου [1] Mathworks, «Object Detection», [2] Mathworks, «Object Detection In A Cluttered Scene Using Point Feature Matching», Computer Vision System Toolbox, [4] Navneet Dalal and Bill Trigs, «Histograms of Oriented Gradients for Human Detection», June 2005 CVPR. [5] Navneet Dalal, Bill Triggs, «Object Detection using Histograms of Oriented Gradients», In Pascal VOC 2006 Workshop ECCV 2006, Graz, Austria. [6] Timo Ahonen, Abdenour Hadid, Matti Pietikainen, «Face Description with Local Binary Patterns: Application to Face Recognition», IEEE Transactions On Pattern Analysis And Machine Intelligence, Vol 28, N.12, December 2006 [7] Henry Schneiderman And Takeo Kandade, «Object Detection Using the Statistics of Parts» Robotics Institute, Carnegie Mellon University, Pittsburgh, USA. [8] C. Papageorgiou, M. Orenm and T. Poggio, «A general framework for object detection», In International Conference on Computer Vision, [9] Shengcai Liao, Xiangxim Zhu, Zhen Lei, Lun Zhang and Stan Z. Li., «Learning Multi-scake Block Locla Binary Patterns for Face Recognition», International Conference on Biometrics [10] Rainer Lienhart and Jochen Maydt, «An Extended Set of Haar-Like Features for Rapid Object Detection», ICIP2002 [11] T-K. Kim, S-F. Wong and R. Cipolla, «Tensor Canonical Correlation Analysis for Action Classification», In Proc. of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Minneapolis, MN, [12] Paul Viola, Michael Jones, «Rapid Object Detection using a Boosted Cascade of Simple Features», Conference on Computer Vision and Pattern Recognition [13] Padhraic Smyth, «Face Detection using the Viola-Jones Method», slides for CS 175, Fall 2007, Department of Computer Science, University of California, Irvine. [14] Mthworks, «Train cascade object model Matlab traincascadeobjectdetector», 85

86 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο [15] OpenCV Documentation, «Cascade Classifier Training», [16] Mathworks Documentation, «Region and Image Properties regionprops()», 86

87 Κεφάλαιο 4 ΚΕΦΑΛΑΙΟ 4 Παρακολούθηση Αντικειμένων σε Πραγματικό Χρόνο Ο Αλγόριθμος CAMSHIFT 4.1 Εισαγωγή Στα προηγούμενα κεφάλαια παρουσιάστηκαν τρόποι ανίχνευσης του ανθρώπινου δέρματος και τρόποι ανίχνευσης αντικειμένων και στη περίπτωση μας ανίχνευση της ανθρώπινης παλάμης. Στο σύστημά μας η ανίχνευση της χειρονομίας αρχικοποίησης πραγματοποιείται μόνο για λίγα καρέ. Στη συνέχεια, σκοπός του είναι η παρακολούθησή του χεριού, χωρίς να εκτελείται κάποιος αλγόριθμος ανίχνευσης. Αυτή η διεργασία έχει δύο πλεονεκτήματα: 1. Πετυχαίνεται γρηγορότερη εκτέλεση του αλγορίθμου ανά καρέ, καθώς η παρακολούθηση ενός αντικειμένου είναι πιο «ελαφριά» διαδικασία απ ότι η ανίχνευσή του και 2. Η χειρονομία μπορεί να αλλάζει χωρίς να «χάνεται» από το σύστημα, καθώς θα αναζητηθεί ένας αλγόριθμος ο οποίος θα έχει τη δυνατότητα να παρακολουθεί μεταβαλλόμενα αντικείμενα. Στις παρακάτω ενότητες θα παρουσιαστεί ο αλγόριθμος CAMSHIFT που αναλαμβάνει την παρακολούθηση ενός αντικειμένου εντοπίζοντας το μέγιστο στην κατανομή πιθανότητας του Εισαγωγή στον αλγόριθμο CAMSHIFT Ο Gary R. Bradski [1][2] πρότεινε έναν αλγόριθμο παρακολούθησης αντικειμένων και τον εφήρμοσε στην παρακολούθηση ανθρωπίνων προσώπων. Εξαρχής είχε ως στόχο την ανάπτυξη ενός αλγορίθμου που να χρησιμοποιεί συναρτήσεις της υπολογιστικής όρασης και να εξασφαλίζουν παρακολούθηση ενός αντικειμένου σε πραγματικό χρόνο χρησιμοποιώντας όσο το δυνατό ελάχιστη υπολογιστική ισχύ. Ο προτεινόμενός αλγόριθμός, στηρίχθηκε στον αλγόριθμο Μέσης Μετατόπισης (Mean Shift algorithm), και εντοπίζει το μέγιστο σε μια κατανομή πιθανότητας. Επομένως, πρέπει 87

88 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο αρχικά να περιγράψουμε μεθόδους κατασκευής κατανομών πιθανότητας αντικειμένων μέσω ιστογράμματος. O αλγόριθμος Mean Shift εφαρμόζεται σε προκαθορισμένες και στατικές κατανομές. Στη περίπτωσή μας όμως θέλουμε να παρακολουθήσουμε τη κατανομή πιθανότητας ενός αντικειμένου σε ένα βίντεο όπου η κατανομή του ανά καρέ μπορεί να μεταβάλλεται και να μετακινείται δυναμικά στο πεδίο του χρόνου. Ο Bradski πρότεινε μία παραλλαγή του αλγορίθμου Mean Shift, η οποία είναι ικανή να αντιμετωπίσει μία τέτοια κατανομή. Αυτός ο τροποποιημένος αλγόριθμος ονομάζεται Συνεχώς Προσαρμοζόμενος Αλγόριθμος Μέσης Μετατόπισης (Continuously Adaptive Mean Shift CAMSHIFT). 4.2 Εφαρμογές Αλγορίθμων Παρακολούθησης Οι εφαρμογές των αλγορίθμων παρακολούθησης είναι παρόμοιες με αυτές που αναφέρθηκαν στα προηγούμενα κεφάλαια. Ωστόσο, προσθέτονται κι άλλες αρκετά εντυπωσιακές. Ορισμένες ανήκουν στο τομέα των πολυμέσων, όπως βιντεοπαιχνίδια. Παρακάτω παρουσιάζονται κάποια χαρακτηριστικά παραδείγματα: Σχήμα 4.1α: Εφαρμογή που επιτρέπει τη «πτήση» σε ένα τρισδιάστατο μοντέλο της Χαβάι ακλουθώντας το πρόσωπο 88

89 Κεφάλαιο 4 Σχήμα 4.1β: Εφαρμογή που επιτρέπει τον έλεγχο της κίνησης του χαρακτήρα στο βιντεοπαιχνίδι Quake 2 χωρίς χρήση του ποντικιού του υπολογιστή αλλά ακλουθώντας το πρόσωπο Σχήμα 4.1γ: Εφαρμογή που παρακολουθεί ανθρώπους και μπορεί να χρησιμοποιηθεί στην ανίχνευση πεζών 89

90 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 4.3 Κατανομή Πιθανότητας Αντικειμένου Ο Bradski [1][2] στηρίχθηκε στην έρευνα των Schiele και Crowley [3] για την παραγωγή κατανομών πιθανότητας αντικειμένων. Οι Schiele και Crowley χρησιμοποίησαν ιστογράμματα ως βάση για τον ταξινομητή Baye στη ταυτοποίηση αντικειμένων. Ωστόσο ο Bradski αναζήτησε ένα τρόπο κατασκευής μια πιθανότητας κατανομής όχι μόνο για την ταυτοποίηση του αντικειμένου αλλά και της θέσης του. Έτσι αρχικά, πρότεινε ένα σύνολο μετρήσεων (για παράδειγμα, τοπικοί χρωματικοί συσχετισμοί, παράγωγοι της εικόνας) για χρήση σε ένα αντικείμενο o n. Με αυτό το τρόπο προκύπτει ένα ιστόγραμμα της μορφής: H ( M o n, R, T). (4.1) όπου R και T είναι η περιστροφή (rotation) και η τροχιά (translation). Ο Bradski, χρησιμοποίησε ιστογράμματα χρώματος τα οποία εμφανίζουν ιδιαίτερη ανεξαρτησία και στη περιστροφή και στη τροχιά ώστε να μελετηθούν οι τιμές των R και T αντίστοιχα. Ύστερα από νορμαλισμό της μέτρησής τους προκύπτει η πιθανότητα: p(m o n). (4.2) Η παραπάνω σχέση όμως δεν είναι χρήσιμη καθώς αναζητείται η πιθανότητα ενός αντικειμένου βάσει του συνόλου των μετρήσεων το οποίο προκύπτει εφαρμόζοντας τον κανόνα Bayes. Για ένα διάνυσμα μέτρησης m k, σε ένα σημείο της εικόνας έχουμε: (4.3) Αυτή είναι η σχέση που χρησιμοποιείται για την κατασκευή της κατανομής χρωματικής πιθανότητας ενός αντικειμένου για κάθε pixel θέτοντας τις priors πιθανότητες p(o i ) ίσες μεταξύ τους. Ας σημειωθεί σε αυτό το σημείο ότι η πιθανότητα με τιμή 0,5 υπονοεί πλήρη αβεβαιότητα. Επιπλέον ο παρανομαστής της σχέσης (4.3) μπορεί να υπολογιστεί στο τέλος για κάθε i αντικείμενο ώστε να επιτευχτεί περαιτέρω ταχύτητα. Χρησιμοποιώντας τη σχέση (4.3), μπορεί να υπολογιστεί η πιθανότητα ενός σημείου για μια δεδομένη περιοχή. Αυτή η περιοχή αντιστοιχεί σε ένα επιμέρους τμήμα μιας εικόνας. Αυτή η περιοχή μπορεί να εκφραστεί με μία μετρική που η πιθανότητα: Πολλαπλασιάζεται στα σημεία που ανήκουν στην αντίστοιχη περιοχή και Διαιρείται στα υπόλοιπα σημεία της εικόνας που δεν ανήκουν σε αυτή τη περιοχή. 90

91 Κεφάλαιο 4 Αυτή η διαδικασία επαναλαμβάνεται και για τις υπόλοιπες περιοχές, ώστε να σαρωθεί ολόκληρη η εικόνα. Στο τέλος σχηματίζεται η κατανομή πιθανότητας της εικόνας για ένα αντικείμενο. Δοκιμές έχουν δείξει ότι η επιτυχία του συνολικού αλγορίθμου υπερβαίνει το 90% χρησιμοποιώντας επιμέρους περιοχές που καλύπτουν τουλάχιστον το 13,5% του υπό μελέτη αντικειμένου [3]. Με τη παραπάνω διαδικασία, για κάθε καρέ ενός βίντεο, μπορεί να κατασκευαστεί η κατανομή πιθανότητας για το υπό μελέτη αντικείμενο και να εφαρμοστεί ο αλγόριθμος CAMSHIFT για να το παρακολουθήσει καθώς κινείται κατά τη διάρκεια του βίντεο. Σχήμα 4.2: Ένα βίντεο καρέ και η πιθανότητα δέρματος της εικόνας στην παρακολούθηση προσώπου [1] Ο χρησιμοποιούμενος χρωματικός χώρος Ο Bradski χρησιμοποίησε τον χρωματικό χώρο Hue Saturation Value (HSV) ώστε να κατασκευάσει το χρωματικό ιστόγραμμα [4]. Ο HSV χρωματικός χώρος αντιστοιχεί στις προβολές των Red, Green, Blue του RGB χώρου κατά μήκος της κύριας διαγωνίου από το λευκό στο μαύρο (βλέπε το βέλος στο σχήμα 4.3α ). Αυτό έχει ως αποτέλεσμα τον εξαεδρικό κώνο του σχήματος 4.3β. Κατεβαίνοντας τον άξονα V προκύπτουν μικρότεροι εξαεδρικοί κώνοι που αντιστοιχούν σε μικρότερους (σκοτεινότερους) RGB κύβους όπως φαίνεται στο σχήμα (4.3α ). Ο HSV χώρος έχει την ιδιότητα να ξεχωρίζει το hue (χρώμα) από το saturation (κορεσμό του χρώματος) και από τη φωτεινότητα. Ο Bradski κατασκεύασε τα χρωματικά μοντέλα από μονοδιάστατα ιστογράμματα του H (Hue) καναλιού του HSV χώρου. Ωστόσο κάθε ερευνητής μπορεί να επιλέξει όποιο χώρο κρίνει κατάλληλο για την εφαρμογή του. 91

92 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 4.3α Σχήμα 4 3β Ο RGB χρωματικός κύβος Το HSV χρωματικό σύστημα 4.4 Ο αλγόριθμος Mean Shift Η προέλευση του CAMSHIFT Ο αλγόριθμος CAMSHIFT παρακολουθεί αντικείμενα χρησιμοποιώντας μία κατανομή πιθανότητας ενός αντικειμένου σε ένα βίντεο. Ο πιο συγγενής του αλγόριθμος αλλά και η προέλευσή του είναι ο αλγόριθμος Μέσης Μετατόπισης (Mean Shift) [5][6][7]. Ο Mean Shift είναι μία μη παραμετρική μέθοδος που σαρώνει τη κλίση της κατανομής πιθανότητας ώστε να βρει το κύριο μέγιστό της Τα βήματα του αλγορίθμου Mean Shift Τα βασικά βήματα του Mean Shift είναι: 1. Επιλογή των διαστάσεων του παραθύρου αναζήτησης. 2. Επιλογή της αρχικής θέσης του παραθύρου αναζήτησης. 3. Υπολογισμός της μέσης θέσης του παραθύρου αναζήτησης. 4. Κεντράρισμα του παραθύρου αναζήτησης στη μέση θέση που υπολογίστηκε στο βήμα Επανάληψη των βημάτων 3 και 4 μέχρι να επέλθει σύγκλιση. 92

93 Κεφάλαιο Το Κριτήριο Σύγκλισης Έστω ένας χώρος Ευκλείδειας κατανομής που περιέχει τη κατανομή f, το κριτήριο σύγκλισης που αναφέρθηκε παραπάνω είναι το εξής: 1. Έχει επιλεγεί ένα παράθυρο W με μέγεθος s. 2. Το αρχικό παράθυρο αναζήτησης έχει κεντραριστεί στο σημείο p k. 3. Υπολογισμός της μέσης θέσης εντός του παραθύρου αναζήτησης. (4.4) Ο Mean Shift σαρώνει τη κλίση του f(p). (4.5) 4. Κεντράρισμα του παραθύρου στο σημείο 5. Επανάληψη των βημάτων 3 και 4 (του αλγορίθμου Mean Shift) μέχρι το σημείο όπου (4.6) Τότε ο Mean Shift συγκλίνει Οι αδυναμίες του Mean Shift Ο αλγόριθμος Mean Shift εμφανίζει κάποιες αδυναμίες: 1. O αλγόριθμος Mean Shift έχει σχεδιαστεί για στατικές κατανομές και έτσι αποτυγχάνει να παρακολουθήσει αντικείμενα. Οι κατανομές αντικειμένων σε βίντεο μπορούν να αλλάζουν στο χρόνο όσο τα αντικείμενα μετακινούνται ως προς τη κάμερα. 2. Μικρά προκαθορισμένου μεγέθους παράθυρα μπορεί να χαθούν εντελώς για μεγάλες μετατοπίσεις αντικειμένων κατά τη διάρκεια ενός βίντεο. 3. Μεγάλα προκαθορισμένου μεγέθους παράθυρα μπορεί να περιέχουν κι άλλα ανεπιθύμητα αντικείμενα και πολύ θόρυβο. 93

94 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 4.5 Ο αλγόριθμος CAMSHIFT O αλγόριθμος CAMSHIFT, είναι μια εξέλιξη του Mean Shift και κατασκευάστηκε ώστε αντιμετωπίσει τις παραπάνω αδυναμίες. Ο CAMSHIFT σχεδιάστηκε ώστε να μπορεί να αντιμετωπίσει μία δυναμικά μεταβαλλόμενη κατανομή καθώς έχει τη δυνατότητα να αυξομειώνει το μέγεθος του παραθύρου αναζήτησης βασιζόμενος είτε σε όλη τη κατανομή είτε στα δεδομένα της κατανομής που εσωκλείονται στο παράθυρο αναζήτησης. Αυτό μπορεί να γλιτώσει αρκετούς υπολογισμούς καθώς δεν απαιτείται υπολογισμός της κατανομής πιθανότητας ολόκληρης της εικόνας αλλά ενός τμήματός της που να περιέχει το τρέχον παράθυρο CAMSHIFT και μία μικρή περιβάλλων σε αυτό περιοχή Οι Εξισώσεις του αλγορίθμου CAMSHIFT Για πιθανότητες κατανομής εικόνων δύο διαστάσεων (2D), η μέση θέση (το centroid) μέσα στο παράθυρο αναζήτησης των βημάτων 3 και 4 του Mean Shift υπολογίζεται όπως φαίνεται παρακάτω: Εύρεση της μηδενικής ροπής (zeroth moment). (4.7) Εύρεση της πρώτης ροπής (first moment) για x και y και (4.8) Τότε η μέση θέση του παραθύρου αναζήτησης (το centroid) είναι: και (4.9) όπου I(x,y) είναι η τιμή της πιθανότητας του pixel στη θέση (x,y) στη εικόνα, και x και y οι θέσεις μέσα στο παράθυρο αναζήτησης. Ο CAMSHIFT εύκολα υπολογίζει και τον δισδιάστατο (2D) προσανατολισμό της κατανομής πιθανότητας χρησιμοποιώντας τις δεύτερες ροπές κατά τη διάρκεια εκτέλεσή του. Οι δεύτερες ροπές (second moments) είναι: και (4.10) 94

95 Κεφάλαιο 4 Τότε ο προσανατολισμός είναι: (4.11) Το μήκος και το πλάτος της «σταγόνας» της κατανομής πιθανότητας υπολογίζονται σε κλειστή μορφή όπως φαίνεται παρακάτω: Θέτοντας:, και το μήκος και πλάτος είναι: (4.12) (4.13) Για παράδειγμα, όταν εφαρμόζουμε τον CAMSHIFT στη παρακολούθηση του προσώπου, οι παραπάνω εξισώσεις μας δίνουν τη κλίση του κεφαλιού, το μήκος και το πλάτος, όπως φαίνεται στο παρακάτω σχήμα: Σχήμα 4.4: Ο προσανατολισμός της κατανομής πιθανότητας του δέρματος σημειωμένος στο αρχικό καρέ του βίντεο[1] Τα βήματα του CAMSHIFT Όπως αναφέρθηκε στις προηγούμενες ενότητες, αντιθέτως με τον Mean Shift, ο CAMSHIFT έχει σχεδιαστεί για κατανομές που αλλάζουν δυναμικά. Αυτές συναντώνται όταν αντικείμενα που 95

96 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο ανιχνεύονται κατά τη διάρκεια ενός βίντεο, μετακινούνται με τέτοιο τρόπο ώστε το μέγεθος και η θέση της κατανομής πιθανότητας να αλλάζουν στο πεδίο του χρόνου. Ο αλγόριθμος CAMSHIFT μπορεί να προσαρμόσει τις διαστάσεις του παραθύρου αναζήτησης. Το αρχικό μέγεθος του παραθύρου μπορεί να καθοριστεί σε οποιαδήποτε λογική τιμή. Ο CAMSHIFT προσαρμόζει το μέγεθος του ανά καρέ βασιζόμενος στα δεδομένα της μηδενικής ροπής (zeroth moment). Η μηδενική ροπή μπορεί να θεωρηθεί ως η περιοχή της κατανομής που εντοπίζεται μέσα στο παράθυρο αναζήτησης. Δηλαδή, οι διαστάσεις του παραθύρου καθορίζονται αρχικά από τη μηδενική ροπή. Τα αλγοριθμικά βήματα υπολογισμού του CAMSHIFT είναι: 1. Επιλογή της αρχικής θέσης του παραθύρου αναζήτησης. 2. Εκτέλεση του Mean Shift (όπως περιγράφεται στην ενότητα 4.4.1) και αποθήκευση της μηδενικής ροπής 3. Καθορισμός του μεγέθους του παραθύρου αναζήτησης σύμφωνα με τη μηδενική στιγμή που υπολογίστηκε στο βήμα 2 4. Επανάληψη των βημάτων 2 και 3 μέχρι να επέλθει σύγκλιση (σύγκλιση όταν η μέση θέση του παραθύρου κινείται λιγότερο από μία προκαθορισμένη τιμή κατωφλίου). Στο παρακάτω σχήμα, παρουσιάζεται ένα παράδειγμα και απεικονίζεται η διαδικασία αναζήτησης του CAMSHIFT βήμα βήμα μέχρι να επέλθει σύγκλιση (κάτω αριστερά) [1]. Σχήμα 4.5: Παράδειγμα εκτέλεσης του CAMSHIFT βήμα βήμα μέχρι να επέλθει σύγκλιση [1] 96

97 Κεφάλαιο 4 Σε αυτό το σχήμα, η κόκκινη καμπύλη αναπαριστά μία μονοδιάστατη (1D) διατομή μίας πραγματικής κατανομής πιθανότητας χρώματος ανθρωπίνου δέρματος μίας εικόνας με ένα πρόσωπο και ένα χέρι σε κοντινή απόσταση, όπως φαίνεται παρακάτω: Σχήμα 4.6: Ανίχνευση προσώπου με τη παρεμβολή χεριού [1] Η κίτρινη καμπύλη είναι το CAMSHIFT παράθυρο αναζήτησης και το μοβ είναι mean shift σημείο. Κατά τη διαδικασία εκτέλεσης του, ο CAMSHIFT βρίσκει το κέντρο της εγγύτερης περιοχής της κατανομής (το πρόσωπο) και αγνοεί γειτονικές παρεμβολές (το χέρι). Το προηγούμενο σχήμα παρουσιάζει την εκτέλεση του CAMSHIFT στην αρχή του βίντεο. Το παρακάτω σχήμα, παρουσιάζει την εκτέλεση του από καρέ σε καρέ κατά τη διάρκεια του βίντεο. Σχήμα 4.7: Παράδειγμα εκτέλεσης του CAMSHIFT κατά τη διάρκεια του βίντεο από καρέ σε καρέ [1] Σε αυτό το σχήμα, η κόκκινη κατανομή πιθανότητας έχει μετατοπιστεί αριστερά και έχει αλλάξει και λίγο μορφή. Παρατηρείται παρόμοια μετακίνηση του κίτρινου παραθύρου αναζήτησης και ορθή προσαρμογή του στη νέα θέση του προσώπου. 97

98 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 4.6 Προσαρμογή και ενσωμάτωση του CAMSHIFT στην ανίχνευση του χεριού στο σύστημά μας Όπως προαναφέρθηκε, βάση της ανίχνευσης του χρώματος του ανθρωπίνου δέρματος και του αλγορίθμου Viola- Jones, ανιχνεύεται η χειρονομία αρχικοποίησης που είναι η ανοικτή παλάμη. Στα επόμενα καρέ, το χέρι θα παρακολουθείται από τον αλγόριθμο CAMSHIFT. Κατά τη διάρκεια αυτών των καρέ, η χειρονομία μπορεί να αλλάζει χωρίς να «χάνεται» από το σύστημα, καθώς ο CAMSHIFT είναι ικανός να παρακολουθήσει δυναμικά μεταβαλλόμενες κατανομής πιθανότητας. Για κάθε καρέ, στο τέλος εκτέλεσης του αλγορίθμου, θα επιστρέφονται η θέση και το μέγεθος του παραθύρου αναζήτησης Επιλογή χρωματικού χώρου Στην ενότητα 4.3.1, αναφέρθηκε ότι o Bradski [1][2] προτίμησε τον χρωματικό χώρο HSV ως είσοδο για την δημιουργία της κατανομής πιθανότητας. Χρησιμοποίησε αυτό το χρωματικό χώρο για την ανίχνευση του χρώματος του ανθρωπίνου δέρματος για τον ανιχνευτή προσώπου. Στο δικό μας σύστημα όμως, για κάθε καρέ εκτελείται ένας πιο αποτελεσματικός αλγόριθμος ανίχνευσης του χρώματος του ανθρωπίνου δέρματος, ο GMM ανιχνευτής (βλέπε Κεφάλαιο 2). Οπότε, ως είσοδο για την κατασκευή της κατανομής πιθανότητας που θα εκτελεστεί ο CAMSHIFT, επιλέχθηκε, να χρησιμοποιηθεί η δυαδική απεικόνιση που προκύπτει από τον GMM ανιχνευτή δέρματος. Με αυτή την επιλογή, αποφεύγεται η μετατροπή από RGB σε HSV που θα κόστιζε σε υπολογιστικό χρόνο και ισχύ και βελτιώνεται η απόδοση του CAMSHIFT Η συνάρτηση CAMSHIFT στο MATLAB Στις νεότερες εκδόσεις του MATLAB, μέσω του Computer Vision Toolbox, παρέχεται υλοποιημένος o CAMSHIFT μέσω της συνάρτησης vision.histogrambasedtracker() [8]. Ωστόσο, κατά τη διάρκεια των δοκιμών, η απόδοσή της ήταν απογοητευτική όταν σαν είσοδο της επιλεγόταν η δυαδική εικόνα που προέκυπτε από την ανίχνευση του ανθρωπίνου δέρματος. Πιθανόν, αυτό οφείλεται στο γεγονός ότι η συγκεκριμένη συνάρτηση έχει προγραμματιστεί να δέχεται σαν είσοδο μία grayscale εικόνα (και όχι δυαδική) σαν αυτή που προκύπτει από H κανάλι από τον HSV χώρο. Αυτή η grayscale εικόνα έχει συνεχές τιμές ενώ η δυαδική όχι. 98

99 Κεφάλαιο 4 Για αυτό το λόγο, ο CAMSHIFT αλγόριθμος υλοποιήθηκε εξαρχής χωρίς τη χρήση των συναρτήσεων toolbox. Επίσης, για πιο απλή και ορθή λειτουργία της συνάρτησης, προτιμήθηκε οι διαστάσεις του παραθύρου αναζήτησης να παραμένουν σταθερές. Ωστόσο στη υλοποιούμενη συνάρτηση έχει προβλεφτεί η δυνατότητα αλλαγής των διαστάσεων όπως προβλέπει ο αλγόριθμος, για μελλοντική χρήση. Σε αυτό το σημείο, πρέπει να αναλυθεί ο τρόπος ορισμού ενός παραθύρου αναζήτησης. Έστω η μεταβλητή περιγραφής του η bbox. Αυτή θα έχει την παρακάτω δομή: bbox = [bbox(1), bbox(2), bbox(3), bbox(4)] = [x, y, dx, dy] όπου: x: η x συνιστώσα του πάνω αριστερά άκρου του παραθύρου αναζήτησης y: η y συνιστώσα του πάνω αριστερά άκρου του παραθύρου αναζήτησης dx: το μήκος του παραθύρου αναζήτησης dy: το πλάτος του παραθύρου αναζήτησης. Ωστόσο, στη παρακάτω συνάρτηση, για ευκολία υπολογισμών, το παράθυρο περιγράφεται από τις μεταβλητές W και L όπου W = [W(1), W(2)] και L = [L(1), L(2)] και ισχύει η παρακάτω αντιστοιχία με τη bbox: bbox = [L(2) L(1) W(2) W(1)]; Η συνάρτηση CAMSHIFT δέχεται ως είσοδο τις μεταβλητές: R: Το βίντεο καρέ στον RGB I: Η δυαδική εικόνα που έχει προκύψει από την ανίχνευση δέρματος W: Οι διαστάσεις του παραθύρου αναζήτησης (τιμές αρχικοποίησης ή από προηγούμενο καρέ) L: Οι συντεταγμένες του πάνω αριστερού άκρου του παραθύρου αναζήτησης (τιμές αρχικοποίησης ή από προηγούμενο καρέ) WHITE: Η τιμή που αναπαριστά το λευκό χρώμα. Τυπική τιμή: 1 (Χρησιμοποιείται για τη χάραξη ενός λευκού σταυρού που θα αναπαριστά το κέντρο του παραθύρου αναζήτησης στο καρέ που προκύπτει στην έξοδο της συνάρτησης) T: Τιμή κατωφλίου που αφορά τη σύγκλιση. Τυπική τιμή: 1 P: Μέγιστος αριθμός των pixels μετακίνησης του παραθύρου αναζήτησης ανά καρέ. Τυπική τιμή: 5 Μετά την εκτέλεσή της επιστρέφει τις μεταβλητές: 99

100 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο videoframe_output: το νέο καρέ στον RGB χώρο με ένα λευκό σταυρό που αναπαριστά το κέντρο του παραθύρου αναζήτησης. W: Οι νέες διαστάσεις του παραθύρου αναζήτησης L: Οι νέες συντεταγμένες του πάνω αριστερού άκρου του παραθύρου αναζήτησης Παρακάτω παρουσιάζεται ο κώδικάς της συνάρτησης: function [videoframe_output,w,l,i] = MyCamshift (R, I, W, L,WHITE,T,P) % Constants of Camshift % WHITE = 1; % Color of the centroid '+' % T = 1; % Threshold of convergence (in pixels for each deg. of freedom) % P = 5; % Number of pixels to expand search window by. %%%%%%%% START %%%%%%%%%%%%%%%%%%%% R = videoframe; % Initialization oldcaml = [0 0]; MeanConverging = 1; for true=1:1 while MeanConverging, % Compute centroid of search window M00 = 0.0; for i = L(1)-P : (L(1)+W(1)+P), for j = L(2)-P : (L(2)+W(2)+P), if i > size(i,1) j > size(i,2) i < 1 j < 1 continue; end M00 = M00 + double(i(i,j)); end end M10 = 0.0; for i = L(1)-P : (L(1)+W(1)+P), for j = L(2)-P : (L(2)+W(2)+P), if i > size(i,1) j > size(i,2) i < 1 j < 1 continue; 100

101 Κεφάλαιο 4 end end end M10 = M10 + i * double(i(i,j)); M01 = 0.0; for i = L(1)-P : (L(1)+W(1)+P), for j = L(2)-P : (L(2)+W(2)+P), if i > size(i,1) j > size(i,2) i < 1 j < 1 continue; end M01 = M01 + j * double(i(i,j)); end end xc = round(m10 / M00); yc = round(m01 / M00); oldl = L; L = [floor(xc - (W(1)/2)) floor(yc - (W(2)/2))]; end % Check threshold if abs(oldl(1)-l(1)) < T abs(oldl(2)-l(2)) < T MeanConverging = 0; end % We now know the centroid and M00. % This information is used to alter the search window size. % Adjust window size % s = round(1.1 * sqrt(m00)); % W = [ s floor(1.2*s) ]; % L = [floor(xc - (W(1)/2)) floor(yc - (W(2)/2))]; s = round(1.1 * sqrt(m00)); % W = [ s floor(1.2*s) ]; 101

102 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο L = [floor(xc - (W(1)/2)) floor(yc - (W(2)/2))]; j+1+floor(sizem(2) / 2)) == 1 end % Superimpose plus sign on to centroid of hand. plus_sign_mask = [ ; ; ; ; ; ; ; ; ; ; ; ; ]; sizem = size(plus_sign_mask); for i = -floor(sizem(1) / 2):floor(sizeM(1) / 2), for j = -floor(sizem(2) / 2):floor(sizeM(2) / 2), if plus_sign_mask(i+1+floor(sizem(1) / 2), R(i+xc, j+yc, :) = WHITE; end end end videoframe_output = R; Κώδικας 4.1: Ο κώδικας MATLAB της συνάρτησης CAMSHIFT Ενσωμάτωση της συνάρτησης CAMSHIFT στο σύστημά μας Στα πρώτα καρέ, το σύστημα ανιχνεύει την χειρονομία αρχικοποίησης (παλάμη με ανοικτά δάκτυλα) εκτελώντας τις συναρτήσεις σχετικά με την ανίχνευση του χρώματος του ανθρωπίνου 102

103 Κεφάλαιο 4 δέρματος και την ανίχνευση Viola Jones, όπως αναλύθηκαν στα Κεφάλαια 2 και 3. Αυτή η διαδικασία διαρκεί λίγα καρέ. Στα επόμενα καρέ εκτελείται ο αλγόριθμος CAMSHIFT. Στο πρώτο καρέ εκτέλεσής του CAMSHIFT, οι τιμές αρχικοποίησης των συντεταγμένων και διαστάσεων του παραθύρου αναζήτησης λαμβάνονται από τα δεδομένα των προηγουμένων καρέ. Στα επόμενα, το παράθυρο αναζήτησης θα ακολουθεί το χέρι και στη περίπτωση αλλαγής της χειρονομίας, το σύστημα θα εξακολουθεί να τη παρακολουθεί. Για αυτό το λόγο επιστρατεύτηκε ο CAMSHIFT, καθώς το σύστημα ανίχνευσης Viola Jones δεν είναι δυνατό να ανιχνεύσει το χέρι εάν εκτελεί χειρονομία εκτός από αυτή της αρχικοποίησης. Παρακάτω φαίνονται κάποια χαρακτηριστικά βίντεο, των οποίων τα καρέ είναι τοποθετημένα με χρονική σειρά από αριστερά προς δεξιά και από πάνω προς τα κάτω, και έχουν προκύψει από τον προαναφερόμενο αλγόριθμο. Για λόγους σαφήνειας, με κίτρινο πλαίσιο απεικονίζεται η ανίχνευση κατά Viola Jones και με μαύρο πλαίσιο η παρακολούθηση χρησιμοποιώντας τον CAMSHIFT. Βίντεο 1: Σχήμα 4.8α: Εκτέλεση Viola Jones και CAMSHIFT 103

104 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Βίντεο 2: Σχήμα 4.8β: Εκτέλεση Viola Jones και CAMSHIFT Βίντεο 3: 104

105 Κεφάλαιο 4 Σχήμα 4.8γ: Εκτέλεση Viola Jones και CAMSHIFT Βίντεο 4: 105

106 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 4.8δ: Εκτέλεση Viola Jones και CAMSHIFT Συζήτηση Σύνοψη 4 ου Κεφαλαίου Σε αυτό το κεφάλαιο περιγράφηκε ο αλγόριθμος CAMSHIFT που αναλαμβάνει τη παρακολούθηση του χεριού του χρήστη αφού έχει εντοπιστεί κατά τη Viola Jones ανίχνευση και ας έχει αλλάξει κατόπιν η χειρονομία. Αιτιολογήθηκε η επιλογή του και αναλύθηκε η λειτουργία του. Στο επόμενο κεφάλαιο θα περιγραφεί ο τρόπος αναγνώρισης της χειρονομίας κατά την εκτέλεση του CAMSHIFT. 106

107 Κεφάλαιο 4 Βιβλιογραφία 4 ου Κεφαλαίου [1] Gary R. Bradski, «Computer Vision Face Tracking For Use in a Perceptual User Interface», Microcomputer Research Lab, Santa Clara, CA, Intel Corporation. [2] Gary R. Bradski, «Real Time Face and Object Tracking as a Component of a Perceptual User Interface», Intel Corporation, Microcomputer Research Lab [3] B. Schiele and J.L. Crowley, «Recognition without correspondence using multidimensional receptive field histograms», MIT Media Lab Perceptual Computing Technical Report, No. 453 [4] A.R Smith, «Color Gamut Transform Pairs», SIGGRAPH 78, pp , [5] K. Fukunaga, «Introduction to Statistical Pattern Recognition», Academic Press, Boston, [6] Y. Cheng, «Mean shift, mode seeking, and clustering», IEEE Trans. Pattern Anal. Machine Intell., 17: , [7] D. Comaniciu and P. Meer, «Robust Analysis of Feature Spaces: Color Image Segmentation», CVPR 97, pp [8] Mathworks Documendation, «Face Detection and Tracking Using CAMShift», 107

108 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο 108

109 Κεφάλαιο 5 ΚΕΦΑΛΑΙΟ 5 Αναγνώριση Χειρονομιών 5.1 Εισαγωγή Στα προηγούμενα κεφάλαια παρουσιάστηκαν τρόποι ανίχνευσης του ανθρώπινου δέρματος, τρόποι ανίχνευσης αντικειμένων και στη περίπτωση μας της ανθρώπινης παλάμης και τρόποι παρακολούθησής της. Στο σύστημά μας, αφού εντοπιστεί η χειρονομία αρχικοποίησης (ανοικτή παλάμη και ανοικτά δάκτυλα), ο χρήστης μπορεί να εναλλάσσει χειρονομίες. Με τον CAMSHIFT, που αναλύθηκε στο προηγούμενο κεφάλαιο, το σύστημα μπορεί να παρακολουθήσει το χέρι παρόλο που αλλάζει η χειρονομία. Σε αυτό το κεφάλαιο θα αναζητηθούν τρόποι αναγνώρισης της χειρονομίας. Σε αυτό το πεδίο έχουν προταθεί πολλοί αλγόριθμοι και έχουν χρησιμοποιηθεί πληθώρα χαρακτηριστικών. Η επιλογή του αλγορίθμου εξαρτάται από την εφαρμογή και το είδος των χειρονομιών. Θα αναζητηθούν τα κατάλληλα χαρακτηριστικά και ο αποτελεσματικότερος αλγόριθμος για το σύστημά μας. 5.2 Εφαρμογές Αναγνώρισης Χειρονομιών Οι πρώτες εφαρμογές που χρησιμοποίησαν αναγνώριση χειρονομιών είχαν ως σκοπό την αντίληψη της νοηματικής γλώσσας που χρησιμοποιούν τα άτομα με ειδικές ανάγκες από τον υπολογιστή. Ωστόσο, αυτές οι εφαρμογές χρησιμοποιούσαν πληθώρα αισθητήρων πέρα από μια κάμερα RGB. 109

110 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 5.1α: Παραδείγματα αισθητήρων για εφαρμογές αναγνώρισης χειρονομιών Αργότερα, με την έλευση των έξυπνων συσκευών, κυκλοφόρησαν εφαρμογές που επέτρεπαν τον έλεγχό τους βάσει χειρονομιών. Ορισμένες όμως είναι εξοπλισμένες με κάμερες βάθους. Επιπλέον εμφανίστηκαν συσκευές ψυχαγωγίες που ελέγχονταν με τον ίδιο τρόπο. Παράδειγμα ο αισθητήρας kinect της Microsoft για το Xbox 360. Σχήμα 5.1β: Παραδείγματα «έξυπνων» τηλεοράσεων που ελέγχονται από τα χρήστη με χειρονομίες Σχήμα 5.1γ: Το Kinect που περιέχει και αισθητήρα βάθους 110

111 Κεφάλαιο H Βάση Δεδομένων Cambridge Hand Gesture Εισαγωγή Στη βιβλιογραφία υπάρχει πληθώρα αλγορίθμων για τη γρήγορη Αναγνώριση Χειρονομιών. Θα πρέπει να πραγματοποιηθούν διάφορες δοκιμές ώστε να αξιολογηθεί η απόδοση και η ταχύτητα για κάθε αλγόριθμο. Για τις πρώτες δοκιμές χρησιμοποιήθηκε η βάση Δεδομένων Cambridge Hand Gesture. Παρόλο που δεν προσομοιώνει πραγματικές συνθήκες λήψης χειρονομιών, προσφέρει ικανοποιητικό υλικό για τις πρώτες δοκιμές. Για τη τελική επιλογή αλγορίθμου και παραμέτρων δεν βρέθηκε κατάλληλη βάση και απαιτήθηκε η κατασκευή της, όπως θα περιγραφεί και στις παρακάτω ενότητες Περιγραφή της Βάσης Η βάση δεδομένων Cambridge Hand Gesture περιέχει ακολουθίες εικόνων (καρέ) από μικρής διάρκειας βίντεο και χρησιμοποιείται για την αναγνώριση χειρονομιών [2]. Έχει κατασκευαστεί από το εργαστήριο υπολογιστικής όρασης και εκπαίδευσης του Τμήματος Ηλεκτρολόγων Μηχανικών Imperial College London.Έχει δημοσιευτεί στο CVPR 2007 [1]. Η συγκεκριμένη βάση έχει μέγεθος περίπου 1GB. Αποτελείται από εννιακόσιες (900) ακολουθίες εικόνων των εννέα (9) κατηγορίες τύπων κίνησης και μορφής της παλάμης. Αυτοί οι τύποι ορίζουν τρείς (3) βασικές χειρονομίες (σχήματα παλάμης) και τρείς (3) βασικές κινήσεις, όπως φαίνεται και στην παρακάτω εικόνα: 111

112 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Εικόνα 5.2: Οι 9 διαφορετικές χειρονομίες δημιουργούνται από 3 βασικές χειρονομίες και κινήσεις Πιο συγκεκριμένα υπάρχουν 3 τύποι μορφής της παλάμης: 1. Παλάμη με απλωμένα και ενωμένα δάκτυλα 2. Παλάμη με απλωμένα και ανοικτά δάκτυλα 3. Παλάμη με απλωμένα και ανοικτά μόνο τα δύο δάκτυλα (δείκτης και μέσος) Επιπλέον υπάρχουν τρεις τύποι κινήσεως της χειρονομίας 1. Προς τα αριστερά 2. Προς τα δεξιά 3. Μάζεμα / συστολή παλάμης ανάλογα τη χειρονομία Όπως φαίνεται με τα παραπάνω, σκοπός αυτής της βάσης είναι η ταξινόμηση της χειρονομίας και παράλληλη ανίχνευση της κίνησή της. 112

113 Κεφάλαιο 5 Σχήμα 5.3: Παραδείγματα τμημάτων των ακολουθιών εικόνων των 9 κατηγοριών Κάθε κατηγορία αποτελείται από εκατό (100) ακολουθίες εικόνων. Υπάρχουν πέντε (5) διαφορετικές συνθήκες φωτισμού, δέκα (10) αυθαίρετες εκτελέσεις της αντίστοιχης κίνησης για κάθε κατηγορία και συνθήκη φωτισμού και είναι πραγματοποιημένες από δύο διαφορετικούς ανθρώπους (5 τύποι φωτισμού x 10 αυθαίρετες εκτελέσεις της κίνησης x 2 διαφορετικοί άνθρωποι = 100). Με αυτό τον τρόπο γίνεται προσπάθεια ώστε το πρόβλημα να γίνει πιο ρεαλιστικό, καθώς μέσα στην ίδια κατηγορία, οι ακολουθίες των εικόνων εμφανίζουν διαφορές ως προς τη διάρκεια και τη μορφή της χειρονομίας. Παρακάτω φαίνονται χαρακτηριστικά οι 5 διαφορετικοί τύποι φωτισμού. Σχήμα 5.4: Υπάρχουν 5 διαφορετικοί τύποι φωτισμού στη βάση 113

114 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Τέλος η συγκεκριμένη βάση είναι ελεύθερη στο κοινό μέσω διαδικτύου στη διεύθυνση: ftp://mi.eng.cam.ac.uk/pub/camgesdata. [1],[2]. 5.4 Αναζήτηση Αλγορίθμων Χρησιμοποιώντας τη παραπάνω βάση μπορούν να υλοποιηθούν και να αξιολογηθούν διάφοροι αλγόριθμοι. Ανάλογα με το ποσοστό επιτυχούς ταξινόμησης των καρέ μπορεί να βρεθεί ο πιο αποτελεσματικός. Όπως και στη περίπτωση της ανίχνευσης της χειρονομίας αρχικοποίησης, ένας από τους πιο απλούς και γρήγορους αλγορίθμους είναι η ταξινόμηση χρησιμοποιώντας χαρακτηριστικά βάση ιδιοτήτων της περιοχής δέρματος (βλέπε 3.4), αφού πρώτα γίνει η ανίχνευσή του όπως περιγράφηκε στο Κεφάλαιο 2. Οπότε στις δοκιμές θα εξεταστεί και αυτός ο αλγόριθμος. Μελετώντας τη βιβλιογραφία βρέθηκε ότι αρκετοί ερευνητές χρησιμοποιούν τα HOG για τη αναγνώριση χειρονομιών χαρακτηρίζοντάς τα γρήγορα και αποτελεσματικά. Επομένως επιβάλλεται η δοκιμή τους. Παρακάτω, παρουσιάζονται τα HOG και διερευνάται η χρήσης τους ως τρόπο αναπαράστασης κάθε χειρονομίας. Επίσης αναζητείται ο κατάλληλος τρόπος εκμάθησης και ταξινόμησης. Γι αυτό θα αναλυθεί και ο ταξινομητής SVM. 5.5 Histograms of Oriented Gradients (HOG) Εισαγωγή Τα Ιστογράμματα των Προσανατολισμένων Κλίσεων (Histograms of Oriented Gradients- HOG) είναι περιγραφείς χαρακτηριστικών και χρησιμοποιούνται από την υπολογιστική όραση και την επεξεργασία εικόνας. Σκοπός τους είναι η ανίχνευση αντικειμένων. Ο αλγόριθμος εντοπίζει σε οριοθετημένα τμήματα της εικόνας τον προσανατολισμό της κλίσης. Η τεχνική αυτή είναι παρόμοια με μεθόδους όπως: ιστογράμματα προσανατολισμένων ακμών (edge orientation histograms), μετασχηματισμός ανεξαρτήτως κλίμακας περιγραφείς χαρακτηριστικών (scale-invariant features transform descriptors), 114

115 Κεφάλαιο 5 περιγραφείς σχήματος (shape contexts). Ωστόσο διαφέρουν στο τρόπο υπολογισμού τους. Πιο συγκεκριμένα, τα HOG υπολογίζονται βάσει ενός πυκνού πλέγματος κελιών ίδιων διαστάσεων. Για περισσότερη ακρίβεια χρησιμοποιείται ένας επικαλυπτόμενος των κελιών τοπικός νορμαλισμός αντίθεσης. Σχήμα 5.5: Παραδείγματα περιγραφέων HOG σε μία εικόνα. Απεικονίζεται το πλέγμα κελιών και για κάθε κελί ο HOG περιγραφέας Τα HOG παρουσιάστηκαν για πρώτη φορά από τους Navneet Dalal και Bill Triggs, ερευνητές του Γαλλικού Εθνικού Ινστιτούτου για έρευνα στην επιστήμη και έλεγχο υπολογιστών (INRIA), το 2005 σε μία δημοσίευση στο CVPR [4]. Χρησιμοποίησαν τα HOG για την ανίχνευση πεζών σε στατικές εικόνες. Επέκτειναν όμως τις δοκιμές τους και σε ποιο γενικές εφαρμογές ανίχνευσης ανθρώπων σε βίντεο καθώς και σε εφαρμογές ανίχνευσης διαφόρων ζώων σε στατικές εικόνες. Η βασική ιδέα πίσω από τα HOG στηρίζεται στο γεγονός πως η ύπαρξη ενός αντικειμένου σε ένα τμήμα μιας εικόνας μπορεί να περιγραφεί από την κατανομή της έντασης των κατευθύνσεων των κλίσεων (ή των ακμών). Η υλοποίηση αυτών των περιγραφέων μπορεί να πραγματοποιηθεί 115

116 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο χωρίζοντας την εικόνα σε μικρές ενωμένες περιοχές που τις ονομάζουμε κελιά (cells). Για κάθε κελί προκύπτει ένα ιστόγραμμα (local histogram) των κατευθύνσεων των κλίσεων (ή των ακμών) για τα pixels μέσα στο κελί. Έτσι η ένωση / συνδυασμός αυτών των ιστογραμμάτων αναπαριστά τον περιγραφέα. Πιο συγκεκριμένα, τα επιμέρους ιστογράμματα μπορούν να νορμαλιστούν με βάση την αντίθεση, υπολογίζοντας ένα μέτρο αντίθεσης μέσω ενός μεγαλύτερου τμήματος της εικόνας που ονομάζουμε block. Χρησιμοποιώντας αυτή τη τιμή, νορμαλίζουμε όλα τα κελιά που ανήκουν στο block. Με αυτόν τον νορμαλισμό, πετυχαίνουμε μεγαλύτερη αντοχή σε διάφορες διακυμάνσεις φωτισμού ή σκίασης. Ο περιγραφέας HOG διατηρεί κάποια καίρια προτερήματα που τον φέρνουν σε πλεονεκτικότερη θέση έναντι παρόμοιων τεχνικών. Αφού ο HOG περιγραφέας υπολογίζεται από τοπικά κελιά, η συγκεκριμένη μέθοδος διατηρεί αντοχή σε μετασχηματισμούς γεωμετρίας και φωτισμού, εκτός από τη περίπτωση της περιστροφής αντικειμένων Υλοποίηση του αλγορίθμου Παρακάτω φαίνεται σχηματικά ο αλγόριθμος παραγωγής των HOG. Σχήμα 5. :Δομή αλυσίδας εξαγωγής χαρακτηριστικών και ανίχνευσης συστήματος Υπολογισμός των κλίσεων Το πρώτο βήμα υπολογισμού πολλών ανιχνευτών χαρακτηριστικών στην προ-επεξεργασία εικόνας είναι η εξασφάλιση νορμαλισμού στις τιμές του χρώματος για γάμμα. Παρόλο αυτά, αυτό το βήμα μπορεί να παραληφθεί στη περίπτωση των HOG καθώς το ίδιο αποτέλεσμα μπορεί να επιτευχθεί κατά τον νορμαλισμό του περιγραφέα που πραγματοποιείται στη συνέχεια. Οπότε, γενικά η προ-επεξεργασία της εικόνας πριν τον υπολογισμό του HOG δεν έχει μεγάλο αντίκτυπο στην απόδοση του. 116

117 Κεφάλαιο 5 Επομένως αντί αυτού, το πρώτο βήμα υλοποίησης του HOG είναι ο υπολογισμός των κλίσεων. Η πιο κοινή μέθοδος είναι η εφαρμογή μίας μάσκας υπολογισμού της διακριτού παραγώγου μίας διάστασης σε μία ή και στις δύο διευθύνσεις της εικόνας (οριζόντια και κάθετα). Πιο συγκεκριμένα, αυτή η μέθοδος απαιτεί φιλτράρισμα των δεδομένων του χρώματος ή της έντασης της εικόνας με το παρακάτω δομικό φίλτρο: [-1, 0, 1] και [-1,0,1] Τ. Οι Dalal και Triggs δοκίμασαν κι άλλες μάσκες όπως 3x3 Sobel ή διαγώνιες μάσκες. Ωστόσο στα δικά τους πειράματα ανίχνευσης ανθρώπων διαπίστωσαν χαμηλότερη απόδοση ανίχνευσης. Δοκίμασαν επίσης την υλοποίηση εξομάλυνσης της εικόνας με τη χρήση Gaussian φίλτρων πριν τη μάσκα της παραγώγου όπου διαπίστωσαν ομοίως χαμηλότερη απόδοση Κβάντιση των τιμών προσανατολισμού Orientation binning Το δεύτερο βήμα υπολογισμού είναι η δημιουργία των ιστογραμμάτων των κελιών. Κάθε pixel μέσα σε ένα κελί δίνει μία σταθμισμένη ψήφο (weighted vote) για τη δημιουργία του ιστογράμματος προσανατολισμού. Αυτή η «ψήφος» εξαρτάται από τις τιμές των κλίσεων που υπολογίστηκαν στο προηγούμενο βήμα. Το σχήμα των κελιών μπορεί να είναι είτε ακτινικό είτε ορθογώνιο. Τα κανάλια του ιστογράμματος είναι ισάξια κατανεμημένα σε 0 έως 180 μοίρες ή 0 έως 360 μοίρες. Το εύρος των μοιρών εξαρτάται αν η κλίση είναι προσημασμένη ή όχι. Οι Dalal και Triggs στις δοκιμές στους στην ανίχνευση ανθρώπων, καλύτερη απόδοση πέτυχαν χρησιμοποιώντας μη προσημασμένες κλίσεις και ιστογράμματα με 9 κανάλια. Όσο αφορά το είδος της σταθμισμένης ψήφου για κάθε pixel, η συνεισφορά του κάθε pixel μπορεί να εξαρτάται από τη τιμή της κλίσης είτε από μία συνάρτηση αυτής της τιμής. Στη πράξη, καλύτερη απόδοση πετυχαίνεται αν η συνεισφορά του κάθε pixel στη δημιουργία του ιστογράμματος εξαρτάται αποκλειστικά από τη τιμή της κλίσης καθεαυτής που έχει υπολογιστεί για το συγκεκριμένο pixel. Επιπλέον επιλογές είναι η τετραγωνική ρίζα ή το τετράγωνο ή κάποια άλλη σχέση του μέτρου της κλίσης. 117

118 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 5.6 : Η δημιουργία των ιστογραμμάτων των κελιών Τα Blocks του περιγραφέα Οι τιμές των κλίσεων θα πρέπει να είναι τοπικά νορμαλισμένες ώστε να είναι αναλλοίωτες σε αλλαγές του φωτισμού και της αντίθεσης. Ο τοπικός νορμαλισμός πραγματοποιείται με την ομαδοποίηση ορισμένων κελιών και τη δημιουργία των block. Δηλαδή τα block είναι επιμέρους ισομεγέθη τμήματα μιας εικόνας, μεγαλύτερα απ τα κελιά. Οπότε, ο περιγραφέας HOG είναι το διάνυσμα που αποτελείται από τα ιστογράμματα των κελιών απ όλα τα block. Τα blocks είναι επικαλυπτόμενα, δηλαδή κάποια κελιά συνεισφέρουν περισσότερες από μία φορά στον τελικό περιγραφέα. Υπάρχουν δύο είδη block, ανάλογα τη γεωμετρία τους: Τα ορθογώνια - Rectangular R-HOG blocks Τα κυκλικά - Circular C-HOG blocks Τα R-HOG blocks παραμέτρους: Τα R-HOG blocks είναι εν γένει ορθογώνια πλέγματα και αναπαριστώνται από τρεις (3) Τον αριθμό των κελιών ανά block Τον αριθμό των pixels ανά κελί Τον αριθμό των καναλιών για κάθε ιστόγραμμα κελιού Στα πειράματα των Dalal και Triggs, οι βέλτιστοι παράμετροι ήταν: 3x3 κελιά ανά block 118

119 Κεφάλαιο 5 6x6 pixels ανά κελί Ιστογράμματα 9 καναλιών. Ωστόσο, οι συγκεκριμένοι ερευνητές διαπίστωσαν μία μικρή βελτίωση στην απόδοση εφαρμόζοντας στα pixels κάθε block ένα Gaussian χωρικό παράθυρο πριν την σταθμισμένη τους ψήφο στα ιστογράμματα. Μ αυτό τον τρόπο τα pixels στα όρια των blocks έχουν μικρότερη συνεισφορά. Τα R-HOG blocks έχουν παρόμοια μορφή με τους περιγραφείς αναλλοίωτους ως προς τη κλίμακα μετασχηματισμού χαρακτηριστικών (SHIFT descriptors). Όμως διαφέρουν ως προς τον υπολογισμό αφού υλοποιούνται μέσω ενός πυκνού πλέγματος σε μία κλίμακα χωρίς καμία περιστροφή ενώ οι SHIFT descriptors υπολογίζονται με sparse τρόπο, σε κάποια σημαντικά σημεία που είναι ανεξάρτητα της κλίμακας και περιστρέφονται μ έναν ευθύγραμμο προσανατολισμό Τα C-HOG blocks Τα C-HOG blocks συναντώνται με δύο παραλλαγές: 1 η Παραλλαγή C-HOG blocks: Αποτελούνται από κελιά που έχουν ένα κεντρικό 2 η Παραλλαγή C-HOG blocks: Αποτελούνται από πολλά κελιά που έχουν κάποια κεντρικά και τα υπόλοιπα απλώνονται ακτινικά απ αυτά και λέγονται γωνιακά. Σχήμα 5.7: Οι δύο παραλλαγές γεωμετρίας των C-HOG block Τα C-HOG περιγράφονται από τέσσερις (4) παραμέτρους: Τον αριθμό των κεντρικών κελιών 119

120 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Τον αριθμό των γωνιακών κελιών ανά κεντρικό κελί Την ακτίνα του κεντρικού κελιού Τον παράγοντα επέκτασης που αφορά την απόσταση μεταξύ των κεντρικών κελιών. Οι Dalal και Triggs διαπίστωσαν πως και οι δύο παραλλαγές παρέχουν παρόμοια απόδοση. Με τα C-HOG blocks πέτυχαν βέλτιστη απόδοση στα πειράματά τους με τις εξής παραμέτρους: 2 κεντρικά κελιά με 4 γωνιακά κελιά το καθένα Κάθε κεντρικό κελί αποτελείται 4 pixels Με παράγοντα επέκτασης δύο (2). Τα C-HOG blocks έχουν παρόμοια μορφή με τους περιγραφείς σχήματος, αλλά διαφέρουν στο γεγονός ότι τα C-HOG blocks περιέχουν κελιά με διάφορα κανάλια προσανατολισμού ενώ οι περιγραφείς σχήματος χρησιμοποιούν μόνο τη παρουσία μίας ακμής για την κατασκευή τους Νορμαλισμός των block Οι Dalal και Triggs χρησιμοποίησαν τέσσερις (4) διαφορετικές μεθόδους για τον νορμαλισμό των blocks. Αν οριστούν οι εξής παράμετροι: : το μη νορμαλισμένο διάνυσμα που περιέχει όλα τα ιστογράμματα ενός block, : η - νόρμα όπου και : μία σταθερά τότε ο παράγοντας νορμαλισμού μπορεί να είναι ένας από τους παρακάτω: L2 νόρμα: L2 hys: L2 νόρμα ακολουθούμενη από ένα ψαλιδισμό (περιορίζοντας τη μέγιστη τιμή του νέου διανύσματος v σε 0,2) και στη συνέχεια ξανά νορμαλισμό L1 νόρμα: L1 ρίζα: 120

121 Κεφάλαιο 5 Οι Dalal και Triggs διαπίστωσαν κατά τη διάρκεια των πειραμάτων ότι οι L2 hys, L2 νόρμα και η L1 ρίζα παρέχουν παρόμοια απόδοση ενώ η L1 νόρμα ελαφρώς λιγότερη αξιόπιστη απόδοση. Ωστόσο, και οι τέσσερις μέθοδοι εμφάνισαν σημαντικά βελτιωμένη απόδοση από τα μη νορμαλισμένα δεδομένα Εκπαίδευση με τον ταξινομητή SVM Το τελευταίο βήμα στην ανίχνευση αντικειμένων με χρήση των περιγραφέων HOG είναι η επιβλεπόμενη εκπαίδευση ενός συστήματος ανίχνευσης με αυτούς τους περιγραφείς (a recognition system based on supervised learning). Αυτή η εκπαίδευση μπορεί να πραγματοποιηθεί με τον ταξινομητή SVM που περιγράφεται διεξοδικά στην ενότητα Προτιμάται αυτός ο ταξινομητής διότι είναι ένας δυαδικός ταξινομητής που ψάχνει το βέλτιστο υπερεπίπεδο που να καθορίζει την συνάρτηση απόφασης. Μόλις εκπαιδευτεί με εικόνες που περιέχουν ένα συγκεκριμένο αντικείμενο, μπορεί να παίρνει αποφάσεις για την παρουσία ή όχι του αντικειμένου, όπως η παρουσία ενός ανθρώπου, σε τυχαίες εικόνες που είναι διαφορετικές απ αυτές που του δόθηκαν για εκπαίδευση Περαιτέρω έρευνα Μετά την πρώτη δημοσίευσή τους, οι Dalal και Triggs εφήρμοσαν τους περιγραφείς HOG και σε αντικείμενα εκτός από ανθρώπους. Όπως: Αντικείμενα: αυτοκίνητα, λεωφορεία, ποδήλατα, μοτοσικλέτες Ζώα: σκύλοι, γάτες, αγελάδες [5]. Στη συνέχεια, άλλοι ερευνητές χρησιμοποίησαν τα HOG και τον SVM για την ανίχνευση πεζών, με ένα σύστημα δύο καμερών υπερύθρων [6]. Έπειτα η ανίχνευση με HOG επιταχύνθηκε με τη χρήση ανιχνευτών αλληλουχίας (cascade rejecters) με επιτυχή εφαρμογή στην ανίχνευση προσώπων [7]. 121

122 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Υπολογισμός HOG μέσω matlab Μπορούμε να υπολογίσουμε τους περιγραφείς μιας εικόνας με τη βοήθεια του matlab χρησιμοποιώντας τη βιβλιοθήκη ανοικτού κώδικα VLFEAT που περιέχει έτοιμες συναρτήσεις για διάφορους αλγορίθμους στο πεδίο της υπολογιστικής όρασης και αναγνώρισης προτύπων [8]. Παρακάτω ακολουθεί ένα απλό παράδειγμα υπολογισμού του περιγραφέα HOG μίας εικόνας με τη χρήση της συνάρτησης της VLFeat. Έστω η παρακάτω εικόνα ως εικόνα εισόδου: Σχήμα 5.8: Ένα παράδειγμα εικόνας εισόδου Ο περιγραφέας HOG υπολογίζεται καλώντας τη συνάρτηση : Η ίδια συνάρτηση μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία μίας απεικόνισης των εξαγομένων χαρακτηριστικών της εικόνας. Χρησιμοποιείται η εντολή, όπως φαίνεται παρακάτω: Μ αυτό τον τρόπο προκύπτει η παρακάτω εικόνα: 122

123 Κεφάλαιο 5 Σχήμα 5.9: Χαρακτηριστικά HOG με μέγεθος κελιών 8 pixels Ο περιγραφέας HOG είναι ένας πίνακας από κελιά. Στη τρίτη του διάσταση περιέχει τις παρακάτω τιμές: Σ αυτή τη περίπτωση, ο περιγραφέας έχει 31 διαστάσεις. Ο HOG έχει διάφορες παραλλαγές. Η VLFeat υποστηρίζει δύο: Την παραλλαγή UoCTTI (η προεπιλεγμένη) και Την αυθεντική Dalal-Triggs (με 2x2 τετραγωνικά HOG blocks για νορμαλισμό). Η βασική τους διαφορά είναι ότι η παραλλαγή UoCTTI υπολογίζει τις κλίσεις bot directed και undirected όπως ένα διάνυσμα τεσσάρων διαστάσεων υφής αλλά το αποτέλεσμα προβάλλεται σε 31 διαστάσεις. Η Dalal Triggs χρησιμοποιεί μόνο undirected κλίσεις και δεν κάνει κάποια συμπίεση στο χώρο 36 διαστάσεων που προκύπτει. Η παραλλαγή Dalal-Triggs μπορεί να υπολογιστεί όπως φαίνεται παρακάτω: Το αποτέλεσμα είναι πολύ παρόμοιο: 123

124 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 5.10: Η παραλλαγή Dalal-Triggs Συχνά είναι απαραίτητη η εναλλαγή του περιγραφέα HOG από αριστερά στα δεξιά (για παράδειγμα στη περίπτωση χάραξης ενός συμμετρικού άξονα ενός αντικειμένου). Αυτό μπορεί να υλοποιηθεί αναλυτικά αποκλειστικά από τον περιγραφέα μεταθέτοντας τις διαστάσεις του ιστογράμματος με κατάλληλο τρόπο. Η μετάθεση προκύπτει όπως φαίνεται παρακάτω: Έτσι τα δύο παραπάνω παραδείγματα παράγουν πανομοιότυπα αποτελέσματα (υπό τον όρο ότι η εικόνα περιέχει ακριβώς τον ίδιο αριθμό από κελιά): Και προκύπτει το παρακάτω γράφημα: 124

125 Κεφάλαιο 5 Σχήμα 5.11: Εναλλαγή του HOG από αριστερά στα δεξιά είτε εναλλάσσοντας την εικόνα εισόδου είτε τον HOG απευθείας 5.6 Ο SVM Ταξινομητής Εισαγωγή Η Μηχανή Διανυσμάτων Υποστήριξης (Support Vector Machine) αποτελεί συγγενή των νευρωνικών δικτύων. Χρησιμοποιείται στον τομέα αναγνώρισης προτύπων και πιο συγκεκριμένα στη ταξινόμηση δεδομένων και στη μείωση διαστάσεων χώρων [10]. Αντιμετωπίζει το πρόβλημα της κατηγοριοποίησης επιλέγοντας έναν μικρό αριθμό δειγμάτων εκπαίδευσης από κάθε κλάση, τα διανύσματα υποστήριξης (support vectors), τα οποία συνορεύουν στο χώρο του προβλήματος με δείγματα άλλων κλάσεων. Με βάση τα επιλεγμένα αυτά διανύσματα κατασκευάζεται ένα υπερεπίπεδο N διαστάσεων έτσι ώστε να επιτυγχάνεται ο βέλτιστος διαχωρισμός των δειγμάτων εκπαίδευσης. Σε ένα απλό πρόβλημα δύο διαστάσεων, ο SVM κατασκευάζει το βέλτιστο υπερεπίπεδο μίας διάστασης, δηλαδή μία γραμμή. Ο αλγόριθμος SVM μπορεί να πραγματοποιήσει γραμμική ταξινόμηση δεδομένων (αυστηρός διαχωρισμός hard partitioning) αλλά εξίσου αποτελεσματικά και μη γραμμική (χαλαρός διαχωρισμός soft partition) κάνοντας χρήση της τεχνικής kernel, η οποία αντιστοιχεί τα αταξινόμητα παραδείγματα σε έναν άλλο χώρο με περισσότερες διαστάσεις. Στη παρούσα εργασία θα χρησιμοποιήσουμε τη γραμμική ταξινόμηση δεδομένων που είναι και πιο γρήγορη. 125

126 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 5.12: Παράδειγμα γραμμικού SVM Ορισμός Αν θέλουμε να δώσουμε έναν πιο αυστηρό ορισμό, ένας SVM κατασκευάζει ένα υπερεπίπεδο ή ένα σύνολο από υπερεπίπεδα σε έναν χώρο με πολλές ή άπειρες διαστάσεις. Αυτό μπορεί να χρησιμοποιηθεί για ταξινόμηση δεδομένων, μείωση διαστάσεων χώρων αλλά και για άλλες διεργασίες. Πρακτικά, το υπερεπίπεδο που απέχει περισσότερο από το κοντινότερο του εκπαιδευμένο σημείο από οποιαδήποτε κατηγορία πετυχαίνει τον καλύτερο διαχωρισμό. Αυτή η απόσταση λέγεται περιθώριο της συνάρτησης (functional margin) και γενικά όσο πιο μεγάλο τόσο πιο μικρό είναι το περιθώριο λάθους του ταξινομητή (generalization error). Αν και εν γένει ο SVM λειτουργεί σε χώρους με πεπερασμένες διαστάσεις, συχνά τα υπερεπίπεδα που προκύπτουν δεν είναι γραμμικά στο χώρο. Για αυτό το λόγο, προτάθηκε ότι ο αρχικός χώρος με πεπερασμένες διαστάσεις πρέπει να σχεδιαστεί σε έναν άλλο χώρο με πολύ περισσότερες διαστάσεις. Με αυτό τον τρόπο, ο διαχωρισμός των δεδομένων μπορεί να επιτευχθεί πολύ πιο εύκολα. Ωστόσο, για να κρατηθεί ο υπολογιστικός φόρτος σε λογικά επίπεδα, τα καινούργια σημεία στο χώρο σχεδιάζονται με τέτοιο τρόπο ώστε να είναι εύκολα υπολογίσιμα σε σύγκριση με τα αντίστοιχα στον αρχικό χώρο. Αυτό μπορεί να επιτευχθεί ορίζοντας τα νέα σημεία σε συνάρτηση με μία συνάρτηση πυρήνα (kernel function), η οποία έχει επιλεχθεί ώστε να ταιριάζει στο συγκεκριμένο πρόβλημα [9]. Τα υπερεπίπεδα στον νέο υψηλών διαστάσεων χώρο ορίζονται ως σύνολα από σημεία τα οποία μαζί με ένα διάνυσμα σ αυτό το χώρο είναι σταθερά. Τα διανύσματα που ορίζουν τα υπερεπίπεδα μπορούν να επιλεχθούν να είναι γραμμικοί συνδυασμοί των παραμέτρων των προβολών των χαρακτηριστικών διανυσμάτων. Με αυτή την επιλογή υπερεπιπέδου, τα σημεία 126

127 Κεφάλαιο 5 στον χώρο των χαρακτηριστικών μπορούν να σχεδιαστούν στο υπερεπίπεδο που ορίζουν σύμφωνα με τη παρακάτω σχέση: (5.1) Ας σημειωθεί ότι αν η γίνει πολύ μικρή καθώς η τιμή του μεγαλώνει πέρα από τη τιμή του x, κάθε όρος στο άθροισμα αντιστοιχεί στο κατά πόσο κοντά είναι το σημείο test στο αντίστοιχο. Επιπλέον, το σύνολο των σημείων που σχεδιάζονται στο υπερεπίπεδο μπορεί να είναι πιο «ελικοειδή». Έτσι ο διαχωρισμός μεταξύ συνόλων σημείων μπορεί να γίνει πιο εύκολα καθώς στον αρχικό χώρο μπορεί να μην υπήρχε κάποια κυρτότητα Ιστορία του αλγορίθμου Ο αρχικός SVM αλγόριθμος επινοήθηκε από τον Vladimir N. Vapnik και η σημερινή μορφή του προτάθηκε από τους Corinna Cortes και Vapnik το 1993 και δημοσιεύτηκε το 1995 [11] Γραμμική Ταξινόμηση Η ταξινόμηση δεδομένων είναι μία κοινή διεργασία στην εκπαίδευση προτύπων. Έστω κάποια σημεία που ανήκουν σε μία από τις δύο κλάσεις και ο στόχος είναι η ταξινόμηση νέων σημείων σε μία από αυτές. Στη περίπτωση του SVM, ένα σημείο δεδομένων προβάλλεται ως ένα διάνυσμα p διαστάσεων και θέλουμε να μάθουμε αν γίνεται να διαχωρίσουμε τέτοιου είδους σημεία με ένα υπερεπίπεδο (p 1) διαστάσεων. Αυτός λέγεται γραμμικός ταξινομητής. Υπάρχουν πολλά είδη υπερεπεπιπέδων που μπορούν να ταξινομήσουν δεδομένα. Ένας λογικός τρόπος επιλογής είναι να επιλεγεί ο τύπος υπερεπιπέδου που διαχωρίζει πιο καλά τα δεδομένα μεταξύ των δύο κλάσεων. Οπότε, επιλέγουμε αυτό που η απόστασή του από το κοντινότερο σημείο δεδομένων και από τις δύο κλάσεις να είναι μέγιστη. Αν υπάρχει τέτοιο υπερεπίπεδο, αυτό λέγεται υπερεπίπεδο μέγιστου περιθωρίου (maximum margin hyperplane) και ο γραμμικός ταξινομητής που το ορίζει ταξινομητής μέγιστου περιθωρίου (maximum margin classifier) ή ισοδύναμα perceptron of optimal stability. 127

128 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 5.13: Το Η1 δεν διαχωρίζει τις κλάσεις, το Η2 τις διαχωρίζει αλλά με ένα μικρό περιθώριο και το Η3 τις διαχωρίζει με το μέγιστο δυνατό περιθώριο Ο γραμμικός SVM (αυστηρός διαχωρισμός hard partitioning) Έστω κάποια εκπαιδευμένα δεδομένα, ένα σύνολο από n σημεία με τη δομή: Όπου το έχει τιμή είτε 1 είτε -1, υποδεικνύοντας τη κλάση που το σημείο ανήκει. Κάθε είναι ένα πραγματικό διάνυσμα p διαστάσεων. Θέλουμε να βρούμε υπερεπίπεδο μέγιστου περιθωρίου που διαχωρίζει τα σημεία που έχουν από αυτά που έχουν. Οποιοδήποτε υπερεπίπεδο μπορεί να γραφεί ως ένα σύνολο σημείων που ικανοποιούν την παρακάτω σχέση: (5.2), όπου x το σημείο δεδομένων και w το (όχι απαραίτητα νορμαλισμένο) πραγματικό διάνυσμα του υπερεπιπέδου. Η παράμετρος καθορίζει την απόσταση του υπερεπιπέδου από την αρχική του θέση κατά μήκος του πραγματικού διανύσματος w. Αν τα εκπαιδευμένα δεδομένα είναι γραμμικά διαχωρίσιμα, μπορούμε να επιλέξουμε δύο υπερεπίπεδα με τέτοιο τρόπο ώστε να διαχωρίζουν τα δεδομένα και να μην υπάρχουν δεδομένα μεταξύ τους. Η περιοχή μεταξύ τους λέγεται περιθώριο. Αυτά τα υπερεπίπεδα μπορούν να περιγραφούν από τις παρακάτω σχέσεις: (5.3) 128

129 Κεφάλαιο 5 και (5.4). Χρησιμοποιώντας λίγη γεωμετρία, βρίσκουμε ότι η απόσταση μεταξύ των δύο υπερεπιπέδων είναι. Οπότε θέλουμε να ελαχιστοποιήσουμε τη τιμή του w ώστε να μεγιστοποιηθεί το περιθώριο. Καθώς πρέπει να αποτρέψουμε τα σημεία των δεδομένων να εισχωρήσουν στο περιθώριο, προσθέτουμε τον παρακάτω περιορισμό: Για κάθε, θα ισχύει για της πρώτης κλάσης (5.5) ή για της δευτερη κλάσης (5.6). Οι παραπάνω σχέσεις μπορούν να γραφούν ως: (5.7) Οπότε βάζοντας όλα μαζί, το συνολικό πρόβλημα βελτιστοποίησης μπορεί να διατυπωθεί ως: Ελαχιστοποίηση του όρου w επιβάλλοντας για ότι Σχήμα 5.14: Γραμμικά διαχωρίζοντα υπερεπίπεδα. Ο συμβολισμός <w,x> δηλώνει το εσωτερικό γινόμενο διανυσμάτων, όπου w,x διανύσματα 129

130 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Αποδεικνύεται ότι η ελαχιστοποίηση της νόρμας του διανύσματος w επιτυγχάνεται μεγιστοποιώντας την Lagrangian: (5.8) όπου α i 0, i=1, l θετικοί πολλαπλασιαστές Lagrange που πληρούν τον περιορισμό λύση δίνεται από τη σχέση:. Η (5.9) Τα σημεία για τα οποία ισχύει αυστηρά ai > 0, είναι τα διανύσματα υποστήριξης. Έχοντας υπολογίσει τα διανύσματα υποστήριξης κατά την εκπαίδευση του αλγορίθμου, η ταξινόμηση ενός άγνωστου δείγματος x συνίσταται στον υπολογισμό του πρόσημου της συνάρτησης απόφασης (decision function): (5.10) Ταξινόμηση μη γραμμικά διαχωρίσιμων κατηγοριών (χαλαρός διαχωρισμός soft partition) Στις περιπτώσεις όπου οι κλάσεις δεν είναι γραμμικά διαχωρίσιμες, πρέπει να αναθεωρηθεί η αυστηρότητα της απαίτησης για τέλειο διαχωρισμό των κατηγοριών. Πιο συγκεκριμένα, το 1995, οι Corinna Cortes και Vladimir N. Vapnik πρότειναν μία μέθοδο που επιτρέπει την λανθασμένη ταξινόμηση κάποιων δειγμάτων, όπως φαίνεται στο παρακάτω σχήμα: 130

131 Κεφάλαιο 5 Σχήμα 5.15: Μη γραμμικά διαχωρίσιμες κατηγορίες. Χρήση γραμμικού διαχωρισμού επιτρέποντας όμως τη λανθασμένη ταξινόμηση κάποιων δειγμάτων εκπαίδευσης Εισάγονται οι θετικές μεταβλητές ξ i, i= 1,,l, οι οποίες μετρούν το βαθμό της λανθασμένης ταξινόμησης των δεδομένων xi. Οπότε προκύπτει: 1 i n (5.11) Η λύση ανάγεται και πάλι στη μεγιστοποίηση της Lagrangian (5.8) υπό του περιορισμούς: (5.12) και (5.13) όπου C μια παράμετρος κόστους που καθορίζει την ισορροπία ανάμεσα στην ανοχή λανθασμένης κατηγοριοποίησης των δειγμάτων εκπαίδευσης και της απαίτησης αυστηρού περιθωρίου. Η λύση δίνεται από την σχέση:. Η μόνη διαφορά από την περίπτωση της γραμμικής διαχωρισιμότητας είναι ότι τα α i έχουν τώρα ως άνω όριο τη C. Η επιλογή της παραμέτρου C στην περίπτωση που δεν ισχύει η γραμμική διαχωρισιμότητα είναι καθοριστικής σημασίας, καθώς όσο μεγαλύτερη είναι η τιμή της, τόσο πιο αυστηρό είναι επαγόμενο μοντέλο στον προσδιορισμό ενός υπερεπιπέδου ικανού να διαχωρίσει σωστά την πλειοψηφία των διανυσμάτων εκπαίδευσης. Μεγάλες τιμές της C σε συνδυασμό και με άλλες παραμέτρους μπορεί να προκαλέσουν το φαινόμενο της υπερεκπαίδευσης / υπερταιριάσματος (overfiting), με αποτέλεσμα να μην μπορεί να γίνει καλή γενίκευση του μοντέλου όταν συμπεριληφθούν νέα δεδομένα. Αντίθετα, πολύ μικρές της C θα μπορούσαν να οδηγήσουν σε υποεκπαίδευση / υποταίριασμα (underfitting), όπως φαίνεται στο παρακάτω σχήμα. Επισημαίνεται 131

132 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο πάντως ότι οι SVΜ ταξινομητές προσβάλλονται σπάνια από το φαινόμενο του υπερταιριάσματος, μια ιδιότητα που αποτελεί ένα από τα σημαντικότερα πλεονεκτήματά τους. Σχήμα 5.16: Περιπτώσεις υπερεκπαίδευσης, υποεκπαίδευσης και η μέση λύση Οι παραπάνω μέθοδοι μπορούν να γενικευτούν και για τη περίπτωση που η συνάρτηση απόφασης δεν είναι γραμμική ως προς τα δεδομένα εκπαίδευσης, μετασχηματίζοντας το χώρου του προβλήματος σε έναν άλλο χώρο, μεγαλύτερης ή και άπειρης διάστασης και ανάγοντας τη μη γραμμική επιφάνεια διάκρισης του αρχικού χώρου σε γραμμική. Η περίπτωση των μη γραμμικών SVM δεν θα περιγραφεί στη παρούσα εργασία, καθώς στους αλγορίθμους του συστήματος μας πραγματοποιείται μόνο γραμμική ταξινόμηση Ο SVM στο matlab Αν και οι πρόσφατες εκδόσεις του matlab παρέχουν τον SVM, για τις ανάγκες της παρούσας εργασίας, χρησιμοποιήθηκε το επιπλέον λογισμικό Libsvm. Είναι απλό στη χρήση και αποτελεσματικό. Αναλαμβάνει όλους του τύπους ταξινόμησης με SVM. Το παρόν λογισμικό είναι διαθέσιμο στο site και παρέχει οδηγίες εγκατάστασης και χρήσης και για άλλα λειτουργικά συστήματα και γλώσσες προγραμματισμού. 132

133 Κεφάλαιο Δοκιμές Αλγορίθμων χρησιμοποιώντας τη βάση Cambridge Hand Gesture Περιγραφή των Δοκιμών Χρησιμοποιώντας τη βάση Cambridge Hand Gesture θα πραγματοποιηθούν δοκιμές διαφόρων αλγορίθμων. Όπως αναφέρθηκε στην ενότητα 5.3, η βάση περιέχει καρέ από 900 βίντεο αναπαριστώντας 9 διαφορετικές χειρονομίες. Στόχος μας είναι η εύρεση του καταλληλότερου αλγορίθμου που θα ταξινομεί ορθώς κάθε βίντεο σε μία από τις 9 χειρονομίες. Από κάθε καρέ θα προκύπτει κάποιο χαρακτηριστικό διάνυσμα. Και σε αυτή τη περίπτωση δεν χρησιμοποιούνται απ ευθείας οι τιμές των pixel αλλά η πληροφορία τους κωδικοποιείται σε αυτό το χαρακτηριστικό διάνυσμα. Έπειτα τα χαρακτηριστικά διανύσματα των καρέ θα συνδυαστούν ώστε να σχηματίσουν το χαρακτηριστικό διάνυσμα κάθε βίντεο. Ο τρόπος δημιουργίας των χαρακτηριστικών διανυσμάτων των καρέ και των χαρακτηριστικών διανυσμάτων των βίντεο καθορίζεται κάθε φορά από τον επιλεγόμενο αλγόριθμο. Στη συνέχεια, χρησιμοποιώντας ένα σύστημα ταξινόμησης, τα βίντεο θα ταξινομηθούν σε μία από τις 9 χειρονομίες, χρησιμοποιώντας τα αντίστοιχα χαρακτηριστικά διανύσματα που έχουν προκύψει νωρίτερα. Σαν σύστημα ταξινόμησης προτιμήθηκε ο SVM, ο οποίος συνδυάζει αποτελεσματικότητα και ταχύτητα. Δοκιμάστηκε και ο KNN (Ταξινομητής Εγγύτερου Γείτονα k- Nearest Neighbors) χωρίς όμως να ικανοποιεί σε αυτούς τους δύο τομείς. Από τη βάση γνωρίζουμε σε ποια κατηγορία ανήκει το κάθε βίντεο. Συγκρίνοντας τη πραγματική κατηγορία των βίντεο με αυτή που ταξινομήθηκε από τον SVM μπορεί να προκύψει το ποσοστό ορθής ανίχνευσης. Στις περισσότερες περιπτώσεις αυτό το ποσοστό προέκυψε με τη μέθοδο 2 fold validation, δηλαδή το σύστημα ταξινόμησης γνώριζε τη πραγματική κατηγορία των μισών βίντεο (εκπαιδευμένα δεδομένα training set) και καλούταν να ταξινομήσει τα άλλα μισά (δεδομένα υπό εξέταση testing/validation set). Η επιλογή του 50% των βίντεο έγινε με τέτοιο τρόπο ώστε κάθε κατηγορία χειρονομιών να εκπροσωπείται ισάξια. Αν αυτή η επιλογή δεν είναι προσεκτική, μπορεί να προκύψουν λανθασμένα αποτελέσματα. 133

134 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 5.17 Παράδειγμα ταξινόμησης με 2 fold validation Για πιο λεπτομερή μελέτη ορισμένες φορές πραγματοποιήθηκε και 10 fold validation. Σε αυτή τη περίπτωση ο SVM γνώριζε την πραγματική κατηγορία του 10% των βίντεο και καλούταν να ταξινομήσει τα υπόλοιπα. Η διαδικασία εκτελέστηκε 10 φορές και το συνολικό ποσοστό ορθής ανίχνευσης προέκυψε από τη μέση τιμή των δέκα επιμέρους ποσοστών. Η επιλογή των βίντεο για κάθε εκτέλεση έγινε με τέτοιο τρόπο ώστε κάθε κατηγορία χειρονομιών να εκπροσωπείται ισάξια και κάθε βίντεο να επιλεχθεί ακριβώς μια φορά για το σύνολο των δέκα εκτελέσεων. Σχήμα 5.18: Παράδειγμα ταξινόμησης με 10 fold validation Τέλος, για αρκετούς από τους παρακάτω αλγορίθμους γίνεται διερεύνηση τιμών για κάποιες παραμέτρους. Αυτοί οι παράμετροι πολλές φορές επηρεάζουν δραματικά το ποσοστό ορθής ανίχνευσης του αλγορίθμου και απαιτείται μεγάλος αριθμός δοκιμών για την εύρεση των βέλτιστων τιμών τους. 134

135 Κεφάλαιο 5 Παρακάτω παρουσιάζονται οι αλγόριθμοι που δοκιμάστηκαν. Όπως προαναφέρθηκε, οι αλγόριθμοι θα διαφέρουν μεταξύ τους στο κομμάτι δημιουργίας των χαρακτηριστικών διανυσμάτων για κάθε καρέ και για κάθε βίντεο αντίστοιχα Εξαγωγή και επεξεργασία χαρακτηριστικών βάση των ιδιοτήτων των περιοχών δέρματος Κατασκευή Χαρακτηριστικού διανύσματος για κάθε καρέ Όπως και στην ενότητα 3.4, αυτός ο αλγόριθμος κατασκευάζει τα χαρακτηριστικά διανύσματα των καρέ βάσει των γεωμετρικών χαρακτηριστικών των περιοχών δέρματος. Στη συγκεκριμένη βάση, τα καρέ δεν έχουν δημιουργηθεί υπό πραγματικές συνθήκες. Αυτό προσφέρει μεγάλη ευκολία στην ανίχνευση δέρματος καθώς: 1. Το background των καρέ είναι για όλα το ίδιο και σταθερό με μικρές μεταβολές της φωτεινότητας και της θέσης της φωτεινής πηγής, οπότε εύκολα διαχωρίσιμο. 2. Στα καρέ δεν περιέχονται άλλα ανθρώπινα μέλη εκτός από τις χειρονομίες, οπότε δεν υπάρχει θόρυβος καθώς ό, τι ανιχνεύεται ως δέρμα είναι σίγουρα χέρι. Επομένως, σχεδόν όλοι οι μέθοδοι ανίχνευσης δέρματος που παρουσιάστηκαν στο Κεφάλαιο 2 είναι ικανοί να εντοπίσουν αποτελεσματικά το μέρος του καρέ που βρίσκεται το χέρι. Το πρώτο βήμα του αλγορίθμου λοιπόν, είναι η μετατροπή του καρέ σε μια δυαδική εικόνα που αναπαριστά το χέρι. Έπειτα με απλές μορφολογικές πράξεις, η αναπαράσταση μπορεί να γίνει πιο συμπαγής και να προκύψει μια ενιαία και συμπαγής περιοχή δέρματος. Για αυτή τη περιοχή μπορούν να εξαχθούν τα παρακάτω χρήσιμα χαρακτηριστικά: Θέση Κέντρου της περιοχής (Centroid) Συνολικός Αριθμός Pixel περιοχής (Area) Περίμετρος της περιοχής (Perimeter) Επιπλέον με τη βοήθεια του Matlab, μπορεί να βρεθεί η διάμετρος του κύκλου που έχει το ίδιο εμβαδό. Αυτή η ιδιότητα μπορεί να χαρακτηρίσει τη πολυπλοκότητα της χειρονομίας συνδυάζοντας τη με τη περίμετρο. Πιο συγκεκριμένα, έστω EquivDiameter αυτή η διάμετρος. Τότε το εμβαδόν αυτού του κύκλου θα είναι: 135

136 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Μπορούμε να κατασκευάσουμε το χαρακτηριστικό feature1 που προκύπτει από τη σχέση: Βάση αυτών των ιδιοτήτων κατασκευάζεται το χαρακτηριστικό διάνυσμα για κάθε καρέ. Σχημα 5.19: Μερικά Παραδείγματα Επεξεργασίας των καρέ για εξαγωγή χαρακτηριστικών Κατασκευή Χαρακτηριστικού διανύσματος για κάθε βίντεο Για κάθε βίντεο πρέπει να κατασκευαστεί ένα χαρακτηριστικό διάνυσμα συνδυάζοντας με κάποιο τρόπο τα χαρακτηριστικά διάνυσμα των καρέ τους. Πρέπει να κατασκευαστούν κάποια χαρακτηριστικά που θα μπορούν να διακρίνουν τις 9 κατηγορίες χειρονομιών της βάσης. Στη βάση,. ανάλογα τη κατηγορία, η χειρονομία κινείται δεξιά ή αριστερά και πάνω ή κάτω. Επομένως είναι χρήσιμο να ορίσουμε χαρακτηριστικά που να αφορούν τη θέση του χεριού. Από κάθε καρέ είναι γνωστή η (x,y) θέση του κέντρου του χεριού. Οπότε χρησιμοποιώντας τη μέση τιμή και τη διακύμανση αυτή της τιμής για όλα τα καρέ κάθε βίντεο οριζόντια και κάθετα προκύπτουν: (Centroid_dx_mean, Centroid_dx_var, Centroid_dy_mean, Centroid_dy_mean) με: Επιπλέον η μεταβολή της χειρονομίας κατά τη διάρκεια του βίντεο μπορεί να χαρακτηρισθεί Τη μέση τιμή και διακύμανση της μεταβολής του εμβαδού της περιοχής του χεριού (Area_diff_mean, Area_diff_var) και 136

137 Κεφάλαιο 5 Τη μέση τιμή και διακύμανση της μεταβολής του feature1 (feature1_diff_mean, feature1_diff_var) Οπότε για κάθε βίντεο κατασκευάζεται ένα χαρακτηριστικό διάνυσμα FEAT της μορφής: FEAT = [feature1_diff_mean, feature1_diff_var, Area_diff_mean, Area_diff_var, Centroid_dx_mean, Centroid_dx_var, Centroid_dy_mean, Centroid_dy_mean] Προέκυψε λοιπόν για κάθε βίντεο ένα χαρακτηριστικό διάνυσμα 1x8. Για όλα τα βίντεο σχηματίζεται ένας χώρος 8 διαστάσεων με 900 σημεία που σχηματίζουν 9 κατηγορίες. Ωστόσο, πριν την εκπαίδευση και ταξινόμηση πρέπει να παρεμβληθεί ένα πολύ σημαντικό βήμα, ο νορμαλισμός. Για κάθε τιμή του χαρακτηριστικού διανύσματος πρέπει να διαιρεθεί με την αντίστοιχη διακύμανση, η οποία έχει προκύψει και από τα 900 χαρακτηριστικά βίντεο. Αυτός ο νορμαλισμός μπορεί εύκολα να πραγματοποιηθεί στο matlab με τις δύο παρακάτω εντολές % Normalize data V = std(feat, 1); FEAT = FEAT, V); Κώδικας 5.1: Κώδικας Matlab νορμαλισμού των δεδομένων Εξαγωγή και Επεξεργασία Χαρακτηριστικών HOG Εξαγωγή Χαρακτηριστικών HOG ανά καρέ Χρησιμοποιώντας τη συνάρτηση που παρουσιάστηκε στην ενότητα 5.5.4, προκύπτει η HOG αναπαράσταση μιας χειρονομίας για κάθε καρέ. Για ύπαρξη λιγότερου θορύβου, μπορεί να προηγηθεί ανίχνευση δέρματος ώστε να μην προκύψουν χαρακτηριστικά HOG για σημεία που δεν υπάρχει χειρονομία. Ωστόσο, αφού το background είναι σταθερό και ίδιο για όλα τα καρέ, το σύστημα ταξινόμησης θα τα αποβάλει αυτόματα. 137

138 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Μετατρέποντας τα δεδομένα που προέκυψαν σε μορφή διανύσματος, προκύπτει ένα χαρακτηριστικό διάνυσμα. Ανάλογα την επιλογή του μεγέθους κελιού για την παραγωγή των HOG, αυτό το διάνυσμα μπορεί να γίνει ιδιαίτερα μεγάλο και επομένως δύσκολο στην επεξεργασία. Οπότε, αναζητείται κάποιος τρόπος κωδικοποίησής του συνδυάζοντας μικρό όγκο δεδομένων με όσο το δυνατό μικρότερη απώλεια πληροφορίας. Για παράδειγμα για κάθε καρέ, για μέγεθος κελιού 15 προκύπτει χαρακτηριστικό διάνυσμα 1x10416, για μέγεθος κελιού 20 προκύπτει χαρακτηριστικό διάνυσμα 1x5952 και για μέγεθος κελιού 50 προκύπτει χαρακτηριστικό διάνυσμα 1x930. Η απώλεια δεδομένων μπορεί να παρουσιαστεί στα παρακάτω παραδείγματα που φαίνεται η αντίστοιχη HOG αναπαράσταση δύο τυχαίων καρέ Σχήμα 5.20α:Το αρχικό καρέ (πάνω) και η HOG αναπαράσταση για μέγεθος κελιού 15,20,50 (από αριστερά προς τα δεξιά) 138

139 Κεφάλαιο Σχήμα 5.22β:Το αρχικό καρέ (πάνω) και η HOG αναπαράσταση με μέγεθος κελιού 15,20,50 (από αριστερά προς τα δεξιά) Κατασκευή Χαρακτηριστικών Διανυσμάτων ανά βίντεο Συνδυάζοντας με κάποιο τρόπο τα χαρακτηριστικά διανύσματα των καρέ προκύψουν τα αντίστοιχα χαρακτηριστικά διανύσματα των βίντεο. Πάλι πρέπει να ληφθεί υπόψη ότι ο συνδυασμός αυτός πρέπει να διευκολύνει τη διάκριση των 9 κατηγοριών χειρονομιών της βάσης. Η εύρεση του όμως δεν είναι εύκολη. Στις παρακάτω ενότητες παρουσιάζονται οι αλγόριθμοι που δοκιμάστηκαν για τη κατασκευή αυτών των χαρακτηριστικών διανυσμάτων Το μέσο HOG διάνυσμα Ένας από τους πιο απλούς τρόπους συνδυασμού των χαρακτηριστικών διανυσμάτων των καρέ ενός βίντεο είναι ο υπολογισμός της μέσης τους τιμής. Δηλαδή, η κατασκευή ενός χαρακτηριστικού διανύσματος ιδίων διαστάσεων, όπου κάθε συνιστώσα να προκύπτει από τη μέση τιμή των αντίστοιχων συνιστωσών των επιμέρους διανυσμάτων των καρέ. Αυτός ο αλγόριθμος απαιτεί ελάχιστους υπολογισμούς αλλά η απόδοσή του επηρεάζεται από: το frame rate του κάθε βίντεο τη ταχύτητα εκτέλεσης της χειρονομίας από το χρήστη 139

140 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο PCA Το πρώτο eigenvector Η μέθοδος PCA (Principal component analysis) είναι ένας αλγόριθμος ελάττωσης της διαστατικότητας χώρων [11]. Το πρώτο eigenvector που προκύπτει από αυτή τη τεχνική μπορεί να χρησιμοποιηθεί ώστε να κατασκευαστεί ένα διάνυσμα που θα «εκπροσωπεί» τα χαρακτηριστικά διανύσματα των επιμέρους καρέ κάθε βίντεο. Αυτός ο αλγόριθμος όμως ορισμένες φορές ανάλογα τα δεδομένα μπορεί να απαιτήσει αρκετό υπολογιστικό φόρτο Τα Kmeans κέντρα Η μέθοδος Kmeans είναι ένας αλγόριθμος που αναλαμβάνει την ομαδοποίηση δεδομένων σε k ομάδες. Ο βασικός του στόχος είναι η ελαχιστοποίηση του αθροίσματος των τετραγωνικών ευκλείδειων αποστάσεων μεταξύ των σημείων x i από τα κέντρα m k της εγγύτερης ομάδας, δηλαδή του παρακάτω αθροίσματος. Η αρχικοποίηση των κέντρων γίνεται με τυχαίες τιμές και η διαδικασία επαναλαμβάνεται μέχρι να επέλθει σύγκλιση. Θεωρώντας τα επιμέρους καρέ ενός βίντεο ως σημεία xi, χρησιμοποιώντας τον kmeans μπορούν να κατασκευαστούν k ομάδες και k κέντρα. Αυτά τα κέντρα, μπορούν να χρησιμοποιηθούν για τη κατασκευή των χαρακτηριστικών διανυσμάτων των βίντεο. Η επιλογή της παραμέτρου k γίνεται από το χρήστη. Αν το k είναι μεγάλο υπάρχει η πιθανότητα δημιουργίας ομάδων με πολύ λίγα «μέλη». Κατά τις δοκιμές βρέθηκε ότι το k για την συγκεκριμένη εφαρμογή μπορεί να πάρει τιμές 2 έως 5. Τα πιο καλά αποτελέσματα επιτεύχθηκαν με τιμές k=2 και k=3. Πρέπει να σημειωθεί, ότι η εκτέλεση του kmeans είναι μια αρκετά απαιτητική διαδικασία και απαιτεί αρκετό υπολογιστικό χρόνο ανάλογα τις διαστάσεις των δεδομένων. 140

141 Κεφάλαιο Bag of Words (BoW) Στο πεδίο της υπολογιστικής όρασης και πιο συγκεκριμένα στην ταξινόμηση εικόνων υπάρχει ένας αλγόριθμος που λέγεται Bag of Words (Σάκος λέξεων), που χρησιμοποιήθηκε αρχικά στην αναγνώριση υφής. Σύμφωνα με αυτή τη τεχνική, τα χαρακτηριστικά της εικόνας παρομοιάζονται με λέξεις. Στη ταξινόμηση κειμένου, ένας σάκος λέξεων είναι ένα sparse διάνυσμα από απαριθμήσεις λέξεων που αναπαριστά πόσες φορές εντοπίστηκε κάθε λέξη, δηλαδή είναι ένα ιστόγραμμα λεξικού. Οπότε, στην υπολογιστική όραση, ένας σάκος οπτικών λέξεων αναπαριστά ένα διάνυσμα με τις απαριθμήσεις ενός λεξικού τοπικών χαρακτηριστικών μιας εικόνας. Σχήμα 5.23: Παράδειγμα αναγνώρισης υφής βάση λεξικού Σχήμα 5.24 Παράδειγμα Bag of Features (Χαρακτηριστικά: Μέρη προσώπου, κτιρίων, λουλουδιών) Η εύρεση των «λέξεων» μπορεί να γίνει με τη μέθοδο kmeans που αναλύθηκε στη προηγούμενη ενότητα. 141

142 Γονιδάκης Παναγιώτης: Ανίχνευση Κίνησης Χεριού και Αναγνώριση Χειρονομίας σε Πραγματικό Χρόνο Σχήμα 5.25: Αναπαράσταση ομαδοποίησης των καρέ χρησιμοποιώντας τον Kmeans. Στα δεξιά φαίνονται τα κέντρα της κάθε ομάδας Μπορούμε να χρησιμοποιηθεί αυτός ο αλγόριθμος, ώστε να βρεθεί ένα χαρακτηριστικό διάνυσμα ενός βίντεο από τα επιμέρους καρέ. Πιο συγκεκριμένα: 1. Εύρεση των χαρακτηριστικών διανυσμάτων όλων των καρέ της βάσης Όπως περιγράφηκε στην ενότητα , για κάθε καρέ χρησιμοποιώντας τα χαρακτηριστικά HOG προκύπτει ένα χαρακτηριστικό διάνυσμα. 2. Εύρεση των Words O kmeans μπορεί ομαδοποιήσει τα χαρακτηριστικά διανύσματα των καρέ σε k ομάδες όπου τα κέντρα τους θα αντιπροσωπεύουν τα words. Σε αντίθεση με τον αλγόριθμο που περιγράφηκε στην ενότητα , o Kmeans εκτελείται μια φορά σε όλα τα καρέ όλων των διαθέσιμων βίντεο της βάσης και όχι για κάθε βίντεο. 3. Αντιπροσώπευση κάθε καρέ σε word Υπολογίζοντας την απόσταση των χαρακτηριστικών διανυσμάτων των καρέ από τα words που υπολογίστηκαν νωρίτερα, βρίσκεται το εγγύτερο. Η απόσταση που χρησιμοποιείται είναι η ευκλείδια. Επομένως για κάθε βίντεο προκύπτει ένα χαρακτηριστικό διάνυσμα που θα περιέχει τον αριθμό του word για κάθε καρέ 142

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 11 η : θεωρία Χρώματος & Επεξεργασία Έγχρωμων Εικόνων

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 11 η : θεωρία Χρώματος & Επεξεργασία Έγχρωμων Εικόνων Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 11 η : θεωρία Χρώματος & Επεξεργασία Έγχρωμων Εικόνων Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Εισαγωγή

Διαβάστε περισσότερα

Α.Τ.Ε.Ι. Ηρακλείου Ψηφιακή Επεξεργασία Εικόνας ιδάσκων: Βασίλειος Γαργανουράκης. Ανθρώπινη Όραση - Χρωµατικά Μοντέλα

Α.Τ.Ε.Ι. Ηρακλείου Ψηφιακή Επεξεργασία Εικόνας ιδάσκων: Βασίλειος Γαργανουράκης. Ανθρώπινη Όραση - Χρωµατικά Μοντέλα Ανθρώπινη Όραση - Χρωµατικά Μοντέλα 1 Τι απαιτείται για την όραση Φωτισµός: κάποια πηγή φωτός Αντικείµενα: που θα ανακλούν (ή διαθλούν) το φως Μάτι: σύλληψη του φωτός σαν εικόνα Τρόποι µετάδοσης φωτός

Διαβάστε περισσότερα

Επεξεργασία Χαρτογραφικής Εικόνας

Επεξεργασία Χαρτογραφικής Εικόνας Επεξεργασία Χαρτογραφικής Εικόνας Διδάσκων: Αναγνωστόπουλος Χρήστος Κώδικες μετρήσεων αντικειμένων σε εικόνα Χρωματικά μοντέλα: Munsell, HSB/HSV, CIE-LAB Κώδικες μετρήσεων αντικειμένων σε εικόνες Η βασική

Διαβάστε περισσότερα

Digital Image Processing

Digital Image Processing Digital Image Processing Intensity Transformations Πέτρος Καρβέλης pkarvelis@gmail.com Images taken from: R. Gonzalez and R. Woods. Digital Image Processing, Prentice Hall, 2008. Image Enhancement: είναι

Διαβάστε περισσότερα

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012 ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ Δίνονται τα εξής πρότυπα: [ ] [ ] [ ] [ ] Άσκηση η (3 μονάδες) Χρησιμοποιώντας το κριτήριο της ομοιότητας να απορριφθεί ένα χαρακτηριστικό με βάση το συντελεστή συσχέτισης. (γράψτε ποιο

Διαβάστε περισσότερα

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση Χειμερινό Εξάμηνο 2013-2014 Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση 5 η Παρουσίαση : Ψηφιακή Επεξεργασία Εικόνας Διδάσκων: Γιάννης Ντόκας Σύνθεση Χρωμάτων Αφαιρετική Παραγωγή Χρώματος Χρωματικά

Διαβάστε περισσότερα

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΣΕΡΡΩΝ Τμήμα ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ

Διαβάστε περισσότερα

Pixinsight 1.8 Ripley οδηγός επεξεργασίας

Pixinsight 1.8 Ripley οδηγός επεξεργασίας Pixinsight 1.8 Ripley οδηγός επεξεργασίας ΜΕΡΟΣ2: ΕΠΕΞΕΡΓΑΣΙΑ ΣΕ LINEAR STAGE Σε αυτό τον οδηγό θα σας δείξω τη μεθοδολογία που ακολουθώ για να δημιουργήσω το τελικό HaLRGB αποτέλεσμα. Ο στόχος μας αυτή

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Εικόνας

Ψηφιακή Επεξεργασία Εικόνας Ψηφιακή Επεξεργασία Εικόνας Τι είναι η ψηφιακή εικόνα 1/67 Το μοντέλο της εικόνας ΜίαεικόναπαριστάνεταιαπόέναπίνακαU που κάθε στοιχείο του u(i,j) ονομάζεται εικονοστοιχείο pixel (picture element). Η ανάλυση

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Εικόνας. Σ. Φωτόπουλος ΨΕΕ ΒΕΛΤΙΩΣΗ ΕΙΚΟΝΑΣ ΜΕ ΙΣΤΟΓΡΑΜΜΑ ΔΠΜΣ ΗΕΠ 1/46

Ψηφιακή Επεξεργασία Εικόνας. Σ. Φωτόπουλος ΨΕΕ ΒΕΛΤΙΩΣΗ ΕΙΚΟΝΑΣ ΜΕ ΙΣΤΟΓΡΑΜΜΑ ΔΠΜΣ ΗΕΠ 1/46 Ψηφιακή Επεξεργασία Εικόνας Σ. Φωτόπουλος ΨΕΕ ΒΕΛΤΙΩΣΗ ΕΙΚΟΝΑΣ ΜΕ ΙΣΤΟΓΡΑΜΜΑ ΔΠΜΣ ΗΕΠ 1/46 Περιλαμβάνει: Βελτίωση (Enhancement) Ανακατασκευή (Restoration) Κωδικοποίηση (Coding) Ανάλυση, Κατανόηση Τμηματοποίηση

Διαβάστε περισσότερα

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1 Εικόνα Εισαγωγή Ψηφιακή αναπαράσταση Κωδικοποίηση των χρωμάτων Συσκευές εισόδου και εξόδου Βάθος χρώματος και ανάλυση Συμβολική αναπαράσταση Μετάδοση εικόνας Σύνθεση εικόνας Ανάλυση εικόνας Τεχνολογία

Διαβάστε περισσότερα

Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB )

Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB ) Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB ) Μια πρώτη ιδέα για το μάθημα χωρίς καθόλου εξισώσεις!!! Περίγραμμα του μαθήματος χωρίς καθόλου εξισώσεις!!! Παραδείγματα από πραγματικές εφαρμογές ==

Διαβάστε περισσότερα

Έγχρωµο και Ασπρόµαυρο Φως

Έγχρωµο και Ασπρόµαυρο Φως Έγχρωµο και Ασπρόµαυρο Φως Χρώµα: κλάδος φυσικής, φυσιολογίας, ψυχολογίας, τέχνης. Αφορά άµεσα τον προγραµµατιστή των γραφικών. Αν αφαιρέσουµε χρωµατικά χαρακτηριστικά, λαµβάνουµε ασπρόµαυρο φως. Μόνο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

2 + 0.5 2 + 0.25 + 1 + 0.5 2 + 0.25 + 1 + 0.5 2 + 0.25 2 + 0.5 0 0.125 + 1 + 0.5 1 0.125 + 1 + 0.75 1 0.125 1/5

2 + 0.5 2 + 0.25 + 1 + 0.5 2 + 0.25 + 1 + 0.5 2 + 0.25 2 + 0.5 0 0.125 + 1 + 0.5 1 0.125 + 1 + 0.75 1 0.125 1/5 IOYNIOΣ 23 Δίνονται τα εξής πρότυπα: x! = 2.5 Άσκηση η (3 µονάδες) Χρησιµοποιώντας το κριτήριο της οµοιότητας να απορριφθεί ένα χαρακτηριστικό µε βάση το συντελεστή συσχέτισης. Γράψτε εδώ το χαρακτηριστικό

Διαβάστε περισσότερα

Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση

Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση ΤΨΣ 50 Ψηφιακή Επεξεργασία Εικόνας Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς Περιεχόµενα Βιβλιογραφία

Διαβάστε περισσότερα

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας Τεχνικές Μείωσης Διαστάσεων Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας 1 Εισαγωγή Το μεγαλύτερο μέρος των δεδομένων που καλούμαστε να επεξεργαστούμε είναι πολυδιάστατα.

Διαβάστε περισσότερα

27-Ιαν-2009 ΗΜΥ 429. 2. (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό

27-Ιαν-2009 ΗΜΥ 429. 2. (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό ΗΜΥ 429 2. (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό 1 (i) Βασική στατιστική 2 Στατιστική Vs Πιθανότητες Στατιστική: επιτρέπει μέτρηση και αναγνώριση θορύβου και

Διαβάστε περισσότερα

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1 Εικόνες και γραφικά Περιγραφή στατικών εικόνων Αναπαράσταση γραφικών Υλικό γραφικών Dithering και anti-aliasing Σύνθεση εικόνας Ανάλυση εικόνας Μετάδοση εικόνας Τεχνολογία Πολυµέσων 05-1 Περιγραφή στατικών

Διαβάστε περισσότερα

Αναγνώριση Χειρονομιών-actions σε συνθήκες έντονου ανομοιόμορφου φωτισμού

Αναγνώριση Χειρονομιών-actions σε συνθήκες έντονου ανομοιόμορφου φωτισμού Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών στην Ηλεκτρονική και Επεξεργασία της Πληροφορίας Δ.Π.Μ.Σ.-Η.Ε.Π. Ειδική Επιστημονική Εργασία Αναγνώριση Χειρονομιών-actions σε συνθήκες έντονου ανομοιόμορφου

Διαβάστε περισσότερα

Βίντεο και κινούµενα σχέδια

Βίντεο και κινούµενα σχέδια Βίντεο και κινούµενα σχέδια Περιγραφή του βίντεο Ανάλυση του βίντεο Κωδικοποίηση των χρωµάτων Μετάδοση τηλεοπτικού σήµατος Συµβατικά τηλεοπτικά συστήµατα Τεχνολογία Πολυµέσων 06-1 Περιγραφή του βίντεο

Διαβάστε περισσότερα

TFT TV. Τι είναι οι TFT και πως λειτουργούν;

TFT TV. Τι είναι οι TFT και πως λειτουργούν; TFT TV Τι είναι οι TFT και πως λειτουργούν; Η ετυμολογία του όρου TFT (Thin Film Transistor ή τρανζίστορ λεπτού φιλμ) μας παραπέμπει στο δομικό στοιχείο ελέγχου της οθόνης, που είναι το τρανζίστορ. Οι

Διαβάστε περισσότερα

DIP_06 Συμπίεση εικόνας - JPEG. ΤΕΙ Κρήτης

DIP_06 Συμπίεση εικόνας - JPEG. ΤΕΙ Κρήτης DIP_06 Συμπίεση εικόνας - JPEG ΤΕΙ Κρήτης Συμπίεση εικόνας Το μέγεθος μιας εικόνας είναι πολύ μεγάλο π.χ. Εικόνα μεγέθους Α4 δημιουργημένη από ένα σαρωτή με 300 pixels ανά ίντσα και με χρήση του RGB μοντέλου

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

Διαβάστε περισσότερα

Photoshop CS6. Πλάνο Μαθημάτων. 1. Εισαγωγή στη Χρωματική Θεωρία, την Ψηφιακή εικόνα και Γνωριμία με το Περιβάλλον του

Photoshop CS6. Πλάνο Μαθημάτων. 1. Εισαγωγή στη Χρωματική Θεωρία, την Ψηφιακή εικόνα και Γνωριμία με το Περιβάλλον του Photoshop CS6 Πλάνο Μαθημάτων 1. Εισαγωγή στη Χρωματική Θεωρία, την Ψηφιακή εικόνα και Γνωριμία με το Περιβάλλον του Photoshop CS6. Στο μάθημα αυτό ο εκπαιδευόμενος θα κατανοήσει βασικές έννοιες που έχουν

Διαβάστε περισσότερα

Ηχρήση του χρώµατος στους χάρτες

Ηχρήση του χρώµατος στους χάρτες Ηχρήση του χρώµατος στους χάρτες Συµβατική χρήση χρωµάτων σε θεµατικούς χάρτες και «ασυµβατότητες» Γεωλογικοί χάρτες: Χάρτες γήινου ανάγλυφου: Χάρτες χρήσεων γης: Χάρτες πυκνότητας πληθυσµού: Χάρτες βροχόπτωσης:

Διαβάστε περισσότερα

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση Χειμερινό Εξάμηνο 2013-2014 Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση 4 η Παρουσίαση : Επεξεργασία Εικόνας Διδάσκων: Γιάννης Ντόκας Εισαγωγή στις Έννοιες των Εικόνων Στο χώρο των πολυμέσων χρησιμοποιείται

Διαβάστε περισσότερα

Γνωστική Ψυχολογία Ι (ΨΧ32)

Γνωστική Ψυχολογία Ι (ΨΧ32) Γνωστική Ψυχολογία Ι (ΨΧ32) Διάλεξη 6 Μηχανισμοί επεξεργασίας οπτικού σήματος Οι άλλες αισθήσεις Πέτρος Ρούσσος Η αντιληπτική πλάνη του πλέγματος Hermann 1 Πλάγια αναστολή Η πλάγια αναστολή (lateral inhibition)

Διαβάστε περισσότερα

Ανάλυση και επεξεργασία εικόνων DICOM με τη χρήση Matlab

Ανάλυση και επεξεργασία εικόνων DICOM με τη χρήση Matlab ΑΣΚΗΣΗ 8 Ανάλυση και επεξεργασία εικόνων DICOM με τη χρήση Matlab 1. Περιγραφή του προτύπου DICOM Η ψηφιακή επεξεργασία ιατρικής εικόνας ξεκίνησε παράλληλα με την ανάπτυξη ενός προτύπου για τη μεταφορά

Διαβάστε περισσότερα

Η χρήση του χρώµατος στη χαρτογραφία και στα ΣΓΠ

Η χρήση του χρώµατος στη χαρτογραφία και στα ΣΓΠ Η χρήση του χρώµατος στη χαρτογραφία και στα ΣΓΠ Συµβατική χρήση χρωµάτων στους τοπογραφικούς χάρτες 1/31 Μαύρο: Γκρι: Κόκκινο, πορτοκαλί, κίτρινο: Μπλε: Σκούρο µπλε: Ανοιχτό µπλε: βασικές τοπογραφικές

Διαβάστε περισσότερα

Αναπαράσταση Μη Αριθμητικών Δεδομένων

Αναπαράσταση Μη Αριθμητικών Δεδομένων Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Αναπαράσταση Μη Αριθμητικών Δεδομένων (κείμενο, ήχος και εικόνα στον υπολογιστή) http://di.ionio.gr/~mistral/tp/csintro/

Διαβάστε περισσότερα

! Δεδομένα: ανεξάρτητα από τύπο και προέλευση, στον υπολογιστή υπάρχουν σε μία μορφή: 0 και 1

! Δεδομένα: ανεξάρτητα από τύπο και προέλευση, στον υπολογιστή υπάρχουν σε μία μορφή: 0 και 1 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 5-6 Αναπαράσταση Μη Αριθμητικών Δεδομένων (κείμενο, ήχος και εικόνα στον υπολογιστή) http://di.ionio.gr/~mistral/tp/csintro/

Διαβάστε περισσότερα

ΕΡΩΤΗΣΕΙΣ ΣΤΗ ΘΕΩΡΙΑ ΧΡΩΜΑΤΩΝ

ΕΡΩΤΗΣΕΙΣ ΣΤΗ ΘΕΩΡΙΑ ΧΡΩΜΑΤΩΝ ΕΡΩΤΗΣΕΙΣ ΣΤΗ ΘΕΩΡΙΑ ΧΡΩΜΑΤΩΝ Συμπλήρωση κενών 1. Η Λαμπρότητα (Brightness) είναι Υποκειμενικός παράγοντας. 2. Το χρώμα ενός αντικειμένου εξαρτάται από το ίδιο και την φωτεινή πηγή. 3. Το Μάτι είναι πολύ

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

Digital Image Processing

Digital Image Processing Digital Image Processing Πέτρος Καρβέλης pkarvelis@gmail.com Images taken from: R. Gonzalez and R. Woods. Digital Image Processing, Prentice Hall, 2008. Παρεμβολή Εικόνας Χρησιμοποιείται σε διαδικασίες

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διαλέξεις 7 8 Μπεϋζιανή εκτίμηση συνέχεια Μη παραμετρικές μέθοδοι εκτίμησης πυκνότητας Εκτίμηση ML για την κανονική κατανομή Μπεϋζιανή εκτίμηση για την κανονική κατανομή Γνωστή

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Εξετάσεις Προσομοίωσης 06/04/2015 Θέμα Α Α1. Να γράψετε στο τετράδιο σας τον αριθμό κάθε πρότασης και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή και ΛΑΘΟΣ αν

Διαβάστε περισσότερα

Κεφάλαιο 11 Πολυμέσα. Εφ. Πληροφορικής Κεφ. 11 Καραμαούνας Π. 1

Κεφάλαιο 11 Πολυμέσα. Εφ. Πληροφορικής Κεφ. 11 Καραμαούνας Π. 1 Κεφάλαιο 11 Πολυμέσα Εφ. Πληροφορικής Κεφ. 11 Καραμαούνας Π. 1 Εφαρμογές πολυμέσων: πολλές μορφές πληροφορίας, αποθηκευμένες σε ψηφιακή μορφή, με δυνατότητα αλληλεπίδρασης κατά την παρουσίασή τους 11.1

Διαβάστε περισσότερα

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Εισαγωγή

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Εισαγωγή ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ 1 Εισαγωγή Το μάθημα «Αρχές Ψηφιακής Τηλεόρασης» εξετάζει τις τεχνολογίες και τους μηχανισμούς που παρεμβάλλονται για να διανεμηθεί

Διαβάστε περισσότερα

Σ ΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΕΡΜΗΝΕΙΑ ΑΠΟΤΕΛΕΣΜΑΤΩΝ

Σ ΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΕΡΜΗΝΕΙΑ ΑΠΟΤΕΛΕΣΜΑΤΩΝ Σ ΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΕΡΜΗΝΕΙΑ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΩΝ ΕΞΕΤΑΣΕΩΝ Μ ΑΪΟΥ 2002 2004 Δ ΕΥΤΕΡΟ ΜΕΡΟΣ Π ΕΡΙΛΗΨΗ: Η μελέτη αυτή έχει σκοπό να παρουσιάσει και να ερμηνεύσει τα ευρήματα που προέκυψαν από τη στατιστική

Διαβάστε περισσότερα

6-Aνίχνευση. Ακμών - Περιγράμματος

6-Aνίχνευση. Ακμών - Περιγράμματος 6-Aνίχνευση Ακμών - Περιγράμματος Ανίχνευση ακμών Μετατροπή 2 εικόνας σε σύνολο ακμών Εξαγωγή βασικών χαρακτηριστικών της εικόνας Πιο «συμπαγής» αναπαράσταση Ανίχνευση ακμών Στόχος: ανίχνευση ασυνεχειών

Διαβάστε περισσότερα

Επεξεργασία Χαρτογραφικής Εικόνας

Επεξεργασία Χαρτογραφικής Εικόνας Επεξεργασία Χαρτογραφικής Εικόνας ιδάσκων: Αναγνωστόπουλος Χρήστος Βασικά στοιχεία εικονοστοιχείου (pixel) Φυσική λειτουργία όρασης Χηµική και ψηφιακή σύλληψη (Κλασσικές και ψηφιακές φωτογραφικές µηχανές)

Διαβάστε περισσότερα

ΦΩΤΟΡΕΑΛΙΣΜΟΣ & ΚΙΝΗΣΗ (ΘΕΩΡΙΑ)

ΦΩΤΟΡΕΑΛΙΣΜΟΣ & ΚΙΝΗΣΗ (ΘΕΩΡΙΑ) ΦΩΤΟΡΕΑΛΙΣΜΟΣ & ΚΙΝΗΣΗ ΔΙΔΑΣΚΩΝ : ΝΤΙΝΤΑΚΗΣ ΙΩΑΝΝΗΣ (MSC) Καθηγητής Εφαρμογών ΚΑΡΔΙΤΣΑ 2013 ΤΙ ΕΙΝΑΙ ΦΩΤΟΑΠΟΔΟΣΗ: ΕΝΝΟΟΥΜΕ ΤΗ ΔΙΑΔΙΚΑΣΙΑ ΚΑΘΟΡΙΣΜΟΥ ΟΛΩΝ ΕΚΕΙΝΩΝ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΚΑΙ ΠΑΡΑΜΕΤΡΩΝ ΩΣΤΕ ΝΑ ΕΧΟΥΜΕ

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

Εργασία επεξεργασίας εικόνων, που αναπαριστούν τομή εγκεφάλου και τομή αδένα προστάτη

Εργασία επεξεργασίας εικόνων, που αναπαριστούν τομή εγκεφάλου και τομή αδένα προστάτη Επεξεργασία Εικόνας Εργασία επεξεργασίας εικόνων, που αναπαριστούν τομή εγκεφάλου και τομή αδένα προστάτη Μπαρμπούτης Παναγιώτης Α) ΦΙΛΤΡΑ ΟΞΥΝΣΗΣ Αρχικά θα μελετήσουμε την εικόνα από το MRI αρχείο της

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 3 Επιλογή μοντέλου Επιλογή μοντέλου Θεωρία αποφάσεων Επιλογή μοντέλου δεδομένα επικύρωσης Η επιλογή του είδους του μοντέλου που θα χρησιμοποιηθεί σε ένα πρόβλημα (π.χ.

Διαβάστε περισσότερα

ΧΡΩΜΑΤΙΚΟΣ ΤΑΞΙΝΟΜΗΤΗΣ ΜΕ ΡΟΜΠΟΤΙΚΟ ΒΡΑΧΙΟΝΑ ΚΑΙ ΧΡΗΣΗ ΤΟΥ ΜΙΚΡΟΕΛΕΓΚΤΗ BASIC STAMP ΤΗΣ PARALLAX

ΧΡΩΜΑΤΙΚΟΣ ΤΑΞΙΝΟΜΗΤΗΣ ΜΕ ΡΟΜΠΟΤΙΚΟ ΒΡΑΧΙΟΝΑ ΚΑΙ ΧΡΗΣΗ ΤΟΥ ΜΙΚΡΟΕΛΕΓΚΤΗ BASIC STAMP ΤΗΣ PARALLAX ΧΡΩΜΑΤΙΚΟΣ ΤΑΞΙΝΟΜΗΤΗΣ ΜΕ ΡΟΜΠΟΤΙΚΟ ΒΡΑΧΙΟΝΑ ΚΑΙ ΧΡΗΣΗ ΤΟΥ ΜΙΚΡΟΕΛΕΓΚΤΗ BASIC STAMP ΤΗΣ PARALLAX Γιαννακόπουλος Νίκος Εκπαιδευτικός ΠΕ19- ΜΔΕ σπουδές στην εκπαίδευση ΕΑΠ, 3ο ΓΕΛ Πάτρας gianakop@gmail.com

Διαβάστε περισσότερα

Ε.Α.Υ. Υπολογιστική Όραση. Κατάτμηση Εικόνας

Ε.Α.Υ. Υπολογιστική Όραση. Κατάτμηση Εικόνας Ε.Α.Υ. Υπολογιστική Όραση Κατάτμηση Εικόνας Γεώργιος Παπαϊωάννου 2015 ΚΑΤΩΦΛΙΩΣΗ Κατωφλίωση - Γενικά Είναι η πιο απλή μέθοδος segmentation εικόνας Χωρίζουμε την εικόνα σε 2 (binary) ή περισσότερες στάθμες

Διαβάστε περισσότερα

ΟΚΙΜΑΣΙΕΣ χ 2 (CHI-SQUARE)

ΟΚΙΜΑΣΙΕΣ χ 2 (CHI-SQUARE) ΔΟΚΙΜΑΣΙΕΣ χ (CI-SQUARE) ΟΚΙΜΑΣΙΕΣ χ (CI-SQUARE). Εισαγωγή Οι στατιστικές δοκιμασίες που μελετήσαμε μέχρι τώρα ονομάζονται παραμετρικές (paramtrc) διότι χαρακτηρίζονται από υποθέσεις σχετικές είτε για

Διαβάστε περισσότερα

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά Τσάπελη Φανή ΑΜ: 243113 Ενισχυτική Μάθηση για το παιχνίδι dots Τελική Αναφορά Περιγραφή του παιχνιδιού Το παιχνίδι dots παίζεται με δύο παίχτες. Έχουμε έναν πίνακα 4x4 με τελείες, και σκοπός του κάθε παίχτη

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ ΟΡΑΣΗ. Όταν ένα ρομπότ κινείται σε άγνωστο χώρο ή σε χώρο που μπορεί να αλλάξει η διάταξή του τότε εμφανίζεται η ανάγκη της όρασης μηχανής.

ΡΟΜΠΟΤΙΚΗ ΟΡΑΣΗ. Όταν ένα ρομπότ κινείται σε άγνωστο χώρο ή σε χώρο που μπορεί να αλλάξει η διάταξή του τότε εμφανίζεται η ανάγκη της όρασης μηχανής. ΡΟΜΠΟΤΙΚΗ ΟΡΑΣΗ Όταν ένα ρομπότ κινείται σε άγνωστο χώρο ή σε χώρο που μπορεί να αλλάξει η διάταξή του τότε εμφανίζεται η ανάγκη της όρασης μηχανής. Αισθητήρες που χρησιμοποιούνται για να αντιλαμβάνεται

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΠΕΞΕΡΓΑΣΙΑΣ ΕΙΚΟΝΑΣ

ΠΡΟΓΡΑΜΜΑ ΕΠΕΞΕΡΓΑΣΙΑΣ ΕΙΚΟΝΑΣ ΠΡΟΓΡΑΜΜΑ ΕΠΕΞΕΡΓΑΣΙΑΣ ΕΙΚΟΝΑΣ ΠΡΟΓΡΑΜΜΑ ΕΠΕΞΕΡΓΑΣΙΑΣ ΕΙΚΟΝΑΣ Το Gimp είναι η πιο γνωστή εφαρμογή επεξεργασίας εικόνας που διατίθεται εντελώς δωρεάν ως λογισμικό ανοιχτού κώδικα. http://www.gimp.org Λήψη

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι 1 Έννοια Ανεπίσημα, ένας αλγόριθμος είναι μια βήμα προς βήμα μέθοδος για την επίλυση ενός προβλήματος ή την διεκπεραίωση

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Baysian Θεωρία Αποφάσεων ΕΠΙΣΚΟΠΗΣΗ-ΑΣΚΗΣΕΙΣ

Αναγνώριση Προτύπων. Baysian Θεωρία Αποφάσεων ΕΠΙΣΚΟΠΗΣΗ-ΑΣΚΗΣΕΙΣ Αναγνώριση Προτύπων Baysian Θεωρία Αποφάσεων ΕΠΙΣΚΟΠΗΣΗ-ΑΣΚΗΣΕΙΣ Χριστόδουλος Χαμζάς Τα περιεχόμενο της παρουσίασης βασίζεται στο βιβλίο: Introduction to Pattern Recognition A Matlab Approach, S. Theodoridis,

Διαβάστε περισσότερα

Απεικόνιση Υφής. Μέρος Α Υφή σε Πολύγωνα

Απεικόνιση Υφής. Μέρος Α Υφή σε Πολύγωνα Απεικόνιση Γραφικά ΥφήςΥπολογιστών Απεικόνιση Υφής Μέρος Α Υφή σε Πολύγωνα Γ. Γ. Παπαϊωάννου, - 2008 Τι Είναι η Υφή; Η υφή είναι η χωρική διαμόρφωση των ποιοτικών χαρακτηριστικών της επιφάνειας ενός αντικειμένου,

Διαβάστε περισσότερα

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ H O G feature descriptor global feature the most common algorithm associated with person detection Με τα Ιστογράμματα της Βάθμωσης (Gradient) μετράμε τον προσανατολισμό και την ένταση της βάθμωσης σε μία

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

Διαβάστε περισσότερα

Συστήματα Πολυμέσων. Ανάπτυξη Πολυμεσικών Εφαρμογών Ι

Συστήματα Πολυμέσων. Ανάπτυξη Πολυμεσικών Εφαρμογών Ι Συστήματα Πολυμέσων Ανάπτυξη Πολυμεσικών Εφαρμογών Ι Ορισμός των Πολυμέσων / Multimedia Η ταυτόχρονη ενσωμάτωση μέσα σε ένα ψηφιακό περιβάλλον πληροφορίας, των: Κειμένου Ήχου Κάθε τύπου εικόνας (στατική,

Διαβάστε περισσότερα

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μάθηση και Γενίκευση. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Μάθηση και Γενίκευση Το Πολυεπίπεδο Perceptron (MultiLayer Perceptron (MLP)) Έστω σύνολο εκπαίδευσης D={(x n,t n )}, n=1,,n. x n =(x n1,, x nd ) T, t n =(t n1,, t np ) T Θα πρέπει το MLP να έχει d νευρώνες

Διαβάστε περισσότερα

Επεξεργασία Έγχρωµων Εικόνων

Επεξεργασία Έγχρωµων Εικόνων ΤΨΣ 150 Ψηφιακή Επεξεργασία Εικόνας Επεξεργασία Έγχρωµων Εικόνων Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς Περιεχόµενα Βιβλιογραφία Περιεχόµενα Ενότητας Εισαγωγή - Βασικά

Διαβάστε περισσότερα

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Βιβλιογραφία. Πόσες λέξεις αξίζει µια εικόνα; Εικόνα

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Βιβλιογραφία. Πόσες λέξεις αξίζει µια εικόνα; Εικόνα Περιεχόµενα ΕΠΛ 422: Συστήµατα Πολυµέσων Εικόνα ηµιουργία εικόνας Αναπαράσταση Εικόνας Στοιχεία θεωρίας χρωµάτων Χρωµατικά µοντέλα Σύνθεση χρωµάτων Αρχές λειτουργίας οθονών υπολογιστών Βιβλιογραφία Καγιάφας

Διαβάστε περισσότερα

Προτεινόμενα Θέματα Διπλωματικών Εργασιών

Προτεινόμενα Θέματα Διπλωματικών Εργασιών Προτεινόμενα Θέματα Διπλωματικών Εργασιών Θεματική ενότητα: Σχεδίαση πολυμεσικών εφαρμογών Ενδεικτικό Θέμα: Θέμα 1. Τα πολυμέσα στην εκπαίδευση: Σχεδίαση πολυμεσικής εφαρμογής για την διδασκαλία ενός σχολικού

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΧΡΗΣΗ MATLAB ΑΘΑΝΑΣΙΑ ΚΟΛΟΒΟΥ (Ε.Τ.Ε.Π.) 2012 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ Ο σκοπός αυτού

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 5 Κατανομές πιθανότητας και εκτίμηση παραμέτρων δυαδικές τυχαίες μεταβλητές Bayesian decision Minimum misclassificaxon rate decision: διαλέγουμε την κατηγορία Ck για

Διαβάστε περισσότερα

ΝΥΧΤΕΡΙΝΗ ΦΩΤΟΓΡΑΦΗΣΗ

ΝΥΧΤΕΡΙΝΗ ΦΩΤΟΓΡΑΦΗΣΗ ΝΥΧΤΕΡΙΝΗ ΦΩΤΟΓΡΑΦΗΣΗ http://www.samsung.com/gr/article/revealing-the-secrets-of-taking-night-time-photos Παρουσίαση: Θάνος Παπαδημητρίου Η νυχτερινή φωτογραφία είναι πραγματικά γοητευτική. Τα υπέροχα

Διαβάστε περισσότερα

ΤΕΛΙΚΕΣ ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ (6 Μονάδες ECTS)- Ακαδημαϊκό Έτος 2013 2014

ΤΕΛΙΚΕΣ ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ (6 Μονάδες ECTS)- Ακαδημαϊκό Έτος 2013 2014 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών, Μηχανικών Η/Υ και Πληροφορικής ΤΕΛΙΚΕΣ ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ (6 Μονάδες ECTS)- Ακαδημαϊκό Έτος 2013 2014 1. Ερευνητική Περιοχή: Επεξεργασία

Διαβάστε περισσότερα

Red. Color. Green. Blue

Red. Color. Green. Blue Red Color Green Blue Γιατί μονόχρωμη Κάμερα ; Oι μονόχρωμες κάμερες εκμεταλλεύονται όλα τα pixel του ccd, έχουν μεγαλύτερη ανάλυση, μεγαλύτερη ευαισθησία & δυναμικό εύρος. H έγχρωμη εικόνα παράγεται με

Διαβάστε περισσότερα

Μιχάλης Μακρή EFIAP. Copyright: 2013 Michalis Makri

Μιχάλης Μακρή EFIAP. Copyright: 2013 Michalis Makri Μιχάλης Μακρή EFIAP Copyright: 2013 Michalis Makri Copyright: 2013 Michalis Makri Less is more Less but better Copyright: 2013 Michalis Makri Ο μινιμαλισμός ορίζεται ως η εξάλειψη όλων των στοιχείων που

Διαβάστε περισσότερα

Βίντεο. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 06-1

Βίντεο. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 06-1 Βίντεο Εισαγωγή Χαρακτηριστικά του βίντεο Απόσταση θέασης Μετάδοση τηλεοπτικού σήματος Συμβατικά τηλεοπτικά συστήματα Ψηφιακό βίντεο Εναλλακτικά μορφότυπα Τηλεόραση υψηλής ευκρίνειας Κινούμενες εικόνες

Διαβάστε περισσότερα

Β2.6 Άλλες Περιφερειακές Συσκευές και Κάρτες Επέκτασης

Β2.6 Άλλες Περιφερειακές Συσκευές και Κάρτες Επέκτασης Β2.6 Άλλες Περιφερειακές Συσκευές και Κάρτες Επέκτασης Τι θα μάθουμε σήμερα: Να αναγνωρίζουμε και να ονομάζουμε άλλες περιφερειακές συσκευές και κάρτες επέκτασης Να εντοπίζουμε τα κύρια χαρακτηριστικά

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Εικόνας

Ψηφιακή Επεξεργασία Εικόνας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Εικόνας Ενότητα 6 : Κωδικοποίηση & Συμπίεση εικόνας Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Παράδειγμα 1. Δίνεται ο κάτωθι κλειστός βρόχος αρνητικής ανάδρασης με. Σχήμα 1. στο οποίο εφαρμόζουμε αρνητική ανάδραση κέρδους

Παράδειγμα 1. Δίνεται ο κάτωθι κλειστός βρόχος αρνητικής ανάδρασης με. Σχήμα 1. στο οποίο εφαρμόζουμε αρνητική ανάδραση κέρδους Παράδειγμα 1 Δίνεται ο κάτωθι κλειστός βρόχος αρνητικής ανάδρασης με _ + Σχήμα 1 στο οποίο εφαρμόζουμε αρνητική ανάδραση κέρδους Α) Γράψτε το σύστημα ευθέως κλάδου σε κανονική παρατηρήσιμη μορφή στο χώρο

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Εικόνας

Ψηφιακή Επεξεργασία Εικόνας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Εικόνας Ενότητα 3 : Αποκατάσταση εικόνας (Image Restoration) Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ Βασίλης Δ. Ανδριτσάνος Δρ. Αγρονόμος - Τοπογράφος Μηχανικός ΑΠΘ Επίκουρος Καθηγητής ΤΕΙ Αθήνας 3ο εξάμηνο http://eclass.teiath.gr Παρουσιάσεις,

Διαβάστε περισσότερα

Ναι. +/- 2 επίπεδα. Σύστημα εστίασης Αυτόματη εστίαση TTL iesp με ανίχνευση της αντίθεσης Ανίχνευση Προσώπων AF, iesp, Σημειακή, AF Tracking

Ναι. +/- 2 επίπεδα. Σύστημα εστίασης Αυτόματη εστίαση TTL iesp με ανίχνευση της αντίθεσης Ανίχνευση Προσώπων AF, iesp, Σημειακή, AF Tracking µ TOUGH-3000 - Χαρακτηριστικά Αισθητήρας εικόνας Ενεργά pixels Διάταξη φίλτρου Πλήρης ανάλυση Τύπος 12 Megapixels Φίλτρο βασικών χρωμάτων (RGB) 12,7 Megapixels 1/2,33 '' Αισθητήρας CCD Φακός Οπτικό zoom

Διαβάστε περισσότερα

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

Διαβάστε περισσότερα

Κεφάλαιο 2: Έννοιες και Ορισμοί

Κεφάλαιο 2: Έννοιες και Ορισμοί ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ Ε.ΜΙΧΑΗΛΙΔΟΥ - 1 Κεφάλαιο 2: Έννοιες και Ορισμοί Η επιτυχία των επιχειρήσεων βασίζεται στην ικανοποίηση των απαιτήσεων των πελατών για: - Ποιοτικά και αξιόπιστα προϊόντα - Ποιοτικές

Διαβάστε περισσότερα

Ανάλυση Διατάξεων Εκπομπής σε Συστήματα Ψηφιακής Τηλεόρασης Υψηλής Ευκρίνειας

Ανάλυση Διατάξεων Εκπομπής σε Συστήματα Ψηφιακής Τηλεόρασης Υψηλής Ευκρίνειας ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Ανάλυση Διατάξεων Εκπομπής σε Συστήματα Ψηφιακής Τηλεόρασης Υψηλής Ευκρίνειας Φλώρος Άγγελος ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή 1 1. Αριθμοί: Το Δυαδικό Σύστημα Οι ηλεκτρονικοί υπολογιστές

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

Διαβάστε περισσότερα

Αντοχή (ruggedness) στο θόρυβο μετάδοσης Αποτελεσματική αναγέννηση (regeneration) Δυνατότητα ομοιόμορφου σχήματος (uniform format) μετάδοσης Όμως:

Αντοχή (ruggedness) στο θόρυβο μετάδοσης Αποτελεσματική αναγέννηση (regeneration) Δυνατότητα ομοιόμορφου σχήματος (uniform format) μετάδοσης Όμως: ΨΗΦΙΑΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ Πλεονεκτήματα: Αντοχή (ruggedness) στο θόρυβο μετάδοσης Αποτελεσματική αναγέννηση (regeneration) Δυνατότητα ομοιόμορφου σχήματος (uniform format) μετάδοσης Όμως: Αύξηση απαίτησης εύρους

Διαβάστε περισσότερα

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΕΝΣΥΡΜΑΤΗΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΣ Διπλωματική Εργασία

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «ΕΝΤΟΠΙΣΜΟΣ ΑΝΤΙΚΕΙΜΕΝΩΝ ΑΠΟ ΠΟΛΛΑΠΛΕΣ ΚΑΜΕΡΕΣ»

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «ΕΝΤΟΠΙΣΜΟΣ ΑΝΤΙΚΕΙΜΕΝΩΝ ΑΠΟ ΠΟΛΛΑΠΛΕΣ ΚΑΜΕΡΕΣ» Πολυτεχνείο Κρήτης Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «ΕΝΤΟΠΙΣΜΟΣ ΑΝΤΙΚΕΙΜΕΝΩΝ ΑΠΟ ΠΟΛΛΑΠΛΕΣ ΚΑΜΕΡΕΣ» Φοιτήτρια: Αναστασία Πεντάρη ΑΜ: 2005030009 Επιτροπή: Ζερβάκης

Διαβάστε περισσότερα

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Με τον όρο μη γραμμικές εξισώσεις εννοούμε εξισώσεις της μορφής: f( ) 0 που προέρχονται από συναρτήσεις f () που είναι μη γραμμικές ως προς. Περιέχουν δηλαδή

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv. Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv. Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ 1.1 Πίνακες, κατανομές, ιστογράμματα... 1 1.2 Πυκνότητα πιθανότητας, καμπύλη συχνοτήτων... 5 1.3

Διαβάστε περισσότερα

Επεξεργασία Χαρτογραφικής Εικόνας

Επεξεργασία Χαρτογραφικής Εικόνας Επεξεργασία Χαρτογραφικής Εικόνας ιδάσκων: Αναγνωστόπουλος Χρήστος Αρχές συµπίεσης δεδοµένων Ήδη συµπίεσης Συµπίεση εικόνων Αλγόριθµος JPEG Γιατί χρειαζόµαστε συµπίεση; Τα σηµερινά αποθηκευτικά µέσα αδυνατούν

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Χωροταξίας Πολεοδομίας και Περιφερειακής Ανάπτυξης

Πανεπιστήμιο Θεσσαλίας. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Χωροταξίας Πολεοδομίας και Περιφερειακής Ανάπτυξης Πανεπιστήμιο Θεσσαλίας Πολυτεχνική Σχολή Τμήμα Μηχανικών Χωροταξίας Πολεοδομίας και Περιφερειακής Ανάπτυξης ΘΕΜΑΤΙΚΗ : ΦΑΣΜΑΤΙΚΕΣ ΥΠΟΓΡΑΦΕΣ - ΤΑΞΙΝΟΜΗΣΕΙΣ Ιωάννης Φαρασλής Τηλ : 24210-74466, Πεδίον Άρεως,

Διαβάστε περισσότερα

Γραφικά με Η/Υ / Εισαγωγή

Γραφικά με Η/Υ / Εισαγωγή Γραφικά με Η/Υ Εισαγωγή Πληροφορίες μαθήματος (1/4) Υπεύθυνος μαθήματος: Μανιτσάρης Αθανάσιος, Καθηγητής ιδάσκοντες: Μανιτσάρης Αθανάσιος: email: manits@uom.gr Μαυρίδης Ιωάννης: email: mavridis@uom.gr

Διαβάστε περισσότερα

Μοντέλο φωτισμού Phong

Μοντέλο φωτισμού Phong ΚΕΦΑΛΑΙΟ 9. Στο προηγούμενο κεφάλαιο παρουσιάσθηκαν οι αλγόριθμοι απαλοιφής των πίσω επιφανειών και ακμών. Απαλοίφοντας λοιπόν τις πίσω επιφάνειες και ακμές ενός τρισδιάστατου αντικειμένου, μπορούμε να

Διαβάστε περισσότερα

Γραφικά Υπολογιστών: Ανίχνευση Ακτίνας (φωτός) (ray tracing)

Γραφικά Υπολογιστών: Ανίχνευση Ακτίνας (φωτός) (ray tracing) 1 ΤΕΙ Θεσσαλονίκης Τμήμα Πληροφορικής Γραφικά Υπολογιστών: Ανίχνευση Ακτίνας (φωτός) (ray tracing) Πασχάλης Ράπτης http://aetos.it.teithe.gr/~praptis praptis@it.teithe.gr 2 Περιεχόμενα Θα εξετάσουμε την

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Εικόνας

Ψηφιακή Επεξεργασία Εικόνας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Εικόνας Ενότητα 4 : Δειγματοληψία και κβάντιση (Sampling and Quantization) Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες

Διαβάστε περισσότερα

Διαδραστικότητα και πλοήγηση σε ψηφιακούς χάρτες

Διαδραστικότητα και πλοήγηση σε ψηφιακούς χάρτες Ενότητα 10 η Διαδραστικότητα και πλοήγηση σε ψηφιακούς χάρτες Βύρωνας Νάκος Καθηγητής Ε.Μ.Π. - bnakos@central.ntua.gr Bασίλης Κρασανάκης Υποψήφιος διδάκτορας Ε.Μ.Π. krasvas@mail.ntua.gr Β. Νάκος & Β. Κρασανάκης

Διαβάστε περισσότερα

Ανάπτυξη δικτυακών εκπαιδευτικών παιχνιδιών πολλών χρηστών. Δ. Μετάφας. (Android, ipad κ.α.). Το παιχνίδι που θα επιλεγεί για την

Ανάπτυξη δικτυακών εκπαιδευτικών παιχνιδιών πολλών χρηστών. Δ. Μετάφας. (Android, ipad κ.α.). Το παιχνίδι που θα επιλεγεί για την 31 Ανάπτυξη δικτυακών εκπαιδευτικών παιχνιδιών πολλών χρηστών Δ. Μετάφας Στόχος της εργασίας είναι η ανάπτυξη δικτυακού εκπαιδευτικού παιχνιδιού πολλών χρηστών, ανεξάρτητο πλατφόρμας λειτουργικού συστήματος.

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

Διαβάστε περισσότερα

ΛΟΓΙΣΜΙΚΟ 1 Εύχρηστο και γρήγορο από την απόκτηση της εικόνας έως την εκτύπωσή της 2 Λήψη εικόνων χαμηλού επιπέδου φωτισμού επισημασμένες με φθορισμό

ΛΟΓΙΣΜΙΚΟ 1 Εύχρηστο και γρήγορο από την απόκτηση της εικόνας έως την εκτύπωσή της 2 Λήψη εικόνων χαμηλού επιπέδου φωτισμού επισημασμένες με φθορισμό ΤΕΧΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΛΟΓΙΣΜΙΚΟΥ ΑΝΑΛΥΣΗΣ FISH ΜΕ ΕΙΔΙΚΗ ΚΑΜΕΡΑ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΟ ΥΠΟΛΟΓΙΣΤΗ (προϋπολογισμός : 25.000,00 Ευρώ) Σταθμός εργασίας ανάλυσης εικόνων FISH με δυνατότητα αναβάθμισης αποτελούμενο

Διαβάστε περισσότερα