Computer vision

Computer Vision (Coursera)

Εισαγωγή στο Computer Vision

Σήμερα είναι μια συναρπαστική στιγμή για να εργαστούμε για το Computer Vision (όραμα των υπολογιστών), καθώς γίνεται μια ολοκληρωμένη τεχνολογία στην καθημερινότητά μας. Οι εφαρμογές του Computer Vision κυμαίνονται από καθήκοντα όπως συστήματα βιομηχανικής όρασης (για παράδειγμα επιθεωρήστε τα μπουκάλια), επιταχύνοντας μια γραμμή παραγωγής σε ρομπότ που μπορούν να κατανοήσουν τον κόσμο γύρω τους. Το Computer Vision ξεπερνά τους ανθρώπους σε ορισμένα καθήκοντα του πραγματικού κόσμου, όπως οι επιθεωρήσεις πλακέτας και η αναγνώριση προσώπου υπό ελεγχόμενες συνθήκες. Υπήρξε επίσης μεγάλη πρόοδος σε παραδοσιακούς τομείς εφαρμογής όπως τα πολυμέσα, η ρομποτική και η ιατρική απεικόνιση. Επιπλέον, δημιουργούνται νέοι τομείς εφαρμογών όπως η Augmented Reality (ενισχυμένη πραγματικότητα), Autonomous Driving (η αυτόνομη οδήγηση), IoT (το Διαδίκτυο των πραγμάτων), η αλληλεπίδραση ανθρώπου-υπολογιστή και το όραμα για τους τυφλούς. Υπάρχουν αυξανόμενες ευκαιρίες για Computer Vision, ώστε να παρέχεται πρόσβαση σε μη παραδοσιακούς τομείς όπως η αστρονομία, η νανοτεχνολογία, οι νέες τεχνικές απεικόνισης του εγκεφάλου, η επιστημονική ανάλυση και πολλά άλλα. Στην υγειονομική περίθαλψη, το Computer Vision έχει τη δυνατότητα να αποκομίσει πραγματική αξία. Ενώ οι υπολογιστές δεν θα αντικαταστήσουν εντελώς το προσωπικό της υγειονομικής περίθαλψης, υπάρχει μια καλή πιθανότητα ότι θα συμπληρώσουν τα διαγνωστικά ρουτίνας που απαιτούν πολύ χρόνο και εμπειρία από γιατρούς.

Στόχος

Ο στόχος του Computer Vision είναι να κάνει τους υπολογιστές να βλέπουν και να ερμηνεύουν τον κόσμο σαν τους ανθρώπους ή, ενδεχομένως, καλύτερα. Ωστόσο, η αναδημιουργία της ανθρώπινης όρασης δεν είναι μόνο ένα δύσκολο πρόβλημα, είναι ένα σύνολο προβλημάτων.

Το Computer Vision ασχολείται με την αυτόματη εξαγωγή, ανάλυση και κατανόηση χρήσιμων πληροφοριών από μία μόνο εικόνα ή ακολουθία εικόνων. Περιλαμβάνει την ανάπτυξη μιας θεωρητικής και αλγοριθμικής βάσης για την επίτευξη αυτόματης οπτικής κατανόησης.

Διπλός στόχος του Computer Vision: Από την άποψη της βιολογίας, το Computer Vision στοχεύει να καταλήξει σε υπολογιστικά μοντέλα του ανθρώπινου οπτικού συστήματος. Από την άποψη της μηχανικής, το Computer Vision στοχεύει στην κατασκευή αυτόνομων συστημάτων για την εκτέλεση ορισμένων εργασιών που μπορεί να εκτελέσει το ανθρώπινο οπτικό σύστημα και σε πολλές περιπτώσεις να ξεπερνά τις ανθρώπινες δυνατότητες.

Ορισμένες από τις εφαρμογές του Computer Vision περιλαμβάνουν: αναγνώριση προσώπου σε κάμερες smartphone, ανάλυση περιβάλλοντος γύρω από αυτοκίνητα με αυτόνομη οδήγηση και ρομπότ εργοστασίων που περιστρέφονται γύρω από συναδέλφους τους.

Το πεδίο του Computer Vision ενσωματώνει έντονα έννοιες από τους τομείς της ψηφιακής επεξεργασίας, της νευροεπιστήμης, των γραφικών ηλεκτρονικών υπολογιστών, της φυσικής στερεάς κατάστασης, της φωτογραμμετρίας και της τεχνητής νοημοσύνης.

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

Το Computer Graphics μελετά τις τεχνικές που παράγουν δεδομένα εικόνας από τρισδιάστατα μοντέλα, ενώ το Computer Vision λειτουργεί για την παραγωγή τρισδιάστατων μοντέλων από δεδομένα εικόνας.

Το Machine Vision είναι η διαδικασία εφαρμογής μιας σειράς τεχνολογιών και μεθόδων για την παροχή αυτόματης επιθεώρησης με βάση την απεικόνιση, τον έλεγχο διαδικασιών και την καθοδήγηση ρομπότ σε βιομηχανικές εφαρμογές.

Η φωτογραμμετρία είναι η επιστήμη της λήψης μετρήσεων από φωτογραφίες, ειδικά για την ανάκτηση των ακριβών θέσεων των επιφανειακών σημείων που συλλέγονται στην εικόνα.

Το πεδίο του Computer Vision εμφανίστηκε στη δεκαετία του 1950, με έρευνα σε τρεις διακριτές γραμμές: αναπαραγωγή του ματιού, αναπαραγωγή του οπτικού φλοιού και αντιγραφή του υπόλοιπου εγκεφάλου.

Συγκεντρωτικά νευρωνικά δίκτυα (CNNs) έχουν εφαρμοστεί για τον εντοπισμό προσώπων, αντικειμένων και σημάτων κυκλοφορίας, καθώς και την παροχή όρασης στα ρομπότ και τα αυτοκίνητα με αυτόνομη οδήγηση.

Τα 3 επίπεδα

Οι έννοιες του Computer Vision μπορούν να κατηγοριοποιηθούν σε γενικές γραμμές ως τεχνικές χαμηλών, μεσαίων και υψηλού επιπέδου.

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

Η τεχνική χαμηλού επιπέδου επικεντρώνεται στην ανακάλυψη των πληροφοριών που μπορούν να εξαχθούν αρχικά από την εικόνα. Οι τεχνικές επεξεργασίας εικόνας χαμηλού επιπέδου περιλαμβάνουν την εξαγωγή θεμελιωδών αρχέγονων εικόνων όπως άκρες και γωνίες και διεξαγωγή φιλτραρίσματος και μορφολογίας κλπ.

Η τεχνική μεσαίου επιπέδου είναι το σημείο όπου τα πράγματα αρχίζουν να συσπειρώνουν, αποδίδοντας νόημα.

Οι δύο κύριες πτυχές του Computer Vision στο μεσαίο επίπεδο υποδηλώνουν τη γεωμετρία της σκηνής και υπονοούν την κίνηση της κάμερας και του αντικειμένου (απαντώντας στο ερώτημα «πώς κινείται το αντικείμενο;»). Ορισμένες θεμελιώδεις έννοιες της γεωμετρικής όρασης περιλαμβάνουν: τη γεωμετρία πολλαπλών προβολών, το stereo και τη δομή από την κίνηση (Structure from Motion = SfM), οι οποίες βρίσκουν όλες τις πληροφορίες της 3D σκηνής από τις 2D εικόνες.

Η τεχνική υψηλού επιπέδου είναι οι αλγόριθμοι που κατανοούν το οπτικό περιεχόμενο και καθιστούν την όραση στον υπολογιστή να ανταποκρίνεται στις δυνατότητες της ανθρώπινης όρασης.

Ο στόχος του Computer Vision υψηλού επιπέδου είναι να συναχθεί η σημασιολογία, για παράδειγμα, η αναγνώριση αντικειμένων και η κατανόηση της σκηνής. Μια ερώτηση εδώ και πολλές δεκαετίες ήταν «πώς αναγνωρίζονται τα 3D αντικείμενα από διαφορετικές κατευθύνσεις;»

Υπάρχουν δύο προσεγγίσεις για αναγνώριση: αναγνώριση βασισμένη στο μοντέλο και αναγνώριση βασισμένη στη μάθηση.

Χρήση & Μαθηματικά

Το Computer Vision χρησιμοποιείται για την επίλυση ζωτικών προβλημάτων σε μια μεγάλη γκάμα τομέων, όπως ιατρική απεικόνιση, επιτήρηση, ανίχνευση και αναγνώριση προσώπου και αντικειμένου. Οι τεχνικές που παρέχει η γραμμική άλγεβρα για την επίλυση πολύπλοκων μαθηματικών μοντέλων είναι απαραίτητες για την επίλυση προβλημάτων σε κάθε ένα από αυτά τα πεδία.

Η Singular Value Decomposition (SVD) είναι η πιο κοινή και χρήσιμη τεχνική γραμμικής άλγεβρας στο Computer Vision, διότι συμβάλλει στην επίτευξη του στόχου του Computer Vision, που είναι να εξηγήσει τον τρισδιάστατο κόσμο μέσω των δύο διαστάσεων εικόνων.

Ο υπολογισμός (Calculus) έχει δύο κύριους κλάδους, τον Differential Calculus (διαφορικό λογισμό) – σχετικά με τις στιγμιαίες μεταβολές και τις κλίσεις των καμπυλών και τον Integral Calculus (ολοκληρωμένο λογισμό).

Το Computer Vision χρησιμοποιεί εκτεταμένα παράγωγα, ολοκληρώματα και μερικές διαφορικές εξισώσεις σε διάφορες εργασίες χαμηλού και μεσαίου επιπέδου.

Η AI ασχολείται με τη λήψη αποφάσεων στον πραγματικό κόσμο, συχνά με την παρουσία μεγάλης αβεβαιότητας. Επομένως, μπορούμε να υποθέσουμε ότι ο οπτικός κόσμος είναι αβέβαιος και πρέπει/μπορεί να περιγραφεί μέσω της γλώσσας των πιθανοτήτων.

Computer vision στην Θεσσαλονίκη

Στην Θεσσαλονίκη υπάρχει σίγουρα μια εταιρεία που εργάζεται με Computer Vision. Είναι η loceye, και το assignment της 1ης φάσης για να εργαστείς μαζί τους ως Computer Vision Ninja είναι από τα πιο έξυπνα, πρωτότυπα και διασκεδαστικά που έχω κάνει!

Χρήσιμα Links

 

Η παραπάνω περιγραφή βασίζεται στο υλικό του αντίστοιχου πρώτου μαθήματος στο Coursera, από το Specialization του πανεπιστημίου Buffalo της Νέας Υόρκης. Το μάθημα ακόμα είναι σε beta έκδοση και δεν είναι διαθέσιμο στο ευρύ κοινό