Εφαρμογές μηχανικής όρασης
Machine vision applications
Keywords
Νευρωνικά δίκτυα ; Μηχανική όραση ; Τεχνητά νευρωνικά δίκτυα ; Γλώσσα προγραμματισμού PythonAbstract
Η παρούσα πτυχιακή εργασία έχει ως αντικείμενο τη μελέτη και υλοποίηση των τεχνητών νευρωνικών δικτύων και συγκεκριμένα των συνελικτικών νευρωνικών καθώς και το πως μπορούν να εφαρμοστούν στη μηχανική όραση και συγκεκριμένα στο πρόβλημα της ανίχνευσης λωρίδων. Θα δοθεί το απαραίτητο υλικό για τη μελέτη τόσο σε θεωρητικό όσο και σε πρακτικό επίπεδο και θα αναλυθούν όλες οι απαραίτητες έννοιες για την πλήρη κατανόηση του αντικειμένου. Στο πρώτο κεφάλαιο θα αναφερθούμε σε κάποια από τα πιο δημοφιλή ADAS, συστήματα που βρίσκονται σε πληθώρα οχημάτων. Στη συνέχεια θα γνωρίσουμε τη μηχανική μάθηση, ένα ευρύτερο κλάδο μέρος του οποίου είναι τα νευρωνικά δίκτυα και στη συνέχεια θα μιλήσουμε για τη δομή ενός φυσικού καθώς και ενός τεχνητού νευρώνα. Στο τρίτο κεφάλαιο θα αναλύσουμε σε βάθος τα συνελικτικά νευρωνικά δίκτυα (Convolutional Neural Networks), μία ειδική κατηγορία νευρωνικών δικτύων, τα οποία αποτελούν την αιχμή του δόρατος της μηχανικής όρασης. Στη συνέχεια, στο τέταρτο και τελευταίο κεφάλαιο αναλύεται η εφαρμογή και τα αποτελέσματα του νευρωνικού δικτύου ο κώδικας του οποίου είναι γραμμένος σε γλώσσα python. Η αυτόνομη οδήγηση μπαίνει όλο και πιο πολύ στις ζωές μας με τα πρώτα αυτόνομα οχήματα επιπέδου 3 να βρίσκονται ήδη στους δρόμους και τις εταιρείες να καταναλώνουν τεράστιους πόρους στην έρευνα και ανάπτυξη νέων μεθόδων ενεργητικής και παθητικής ασφάλειας. Ποιο είναι όμως το βασικό συστατικό της αυτόνομης οδήγησης;Κατά τη διάρκεια της οδήγησης η διατήρηση μιας σταθερής πορείας μέσα στις διαγραμμίσεις του δρόμου αποτελεί βασικό μέλημα κάθε οδηγού. Η διαδικασία αυτή γίνεται σχεδόν ασυναίσθητα τόσο από έμπειρους όσο και από αρχάριους οδηγούς. Σε αντίθεση όμως με τον ανθρώπινο εγκέφαλο ένας υπολογιστής έχει περιορισμένες δυνατότητες. Ελλείψει του κατάλληλου λογισμικού ένας η/υ δε μπορεί, από τη φύση του, να καταλάβει τη διαφορά μεταξύ των λευκών ή κίτρινων λωρίδων και του υπόλοιπου δρόμου. Στην παρούσα πτυχιακή εργασία παρουσιάζεται ένα σύστημα ανίχνευσης λωρίδων με χρήση μιας απλής κάμερας τοποθετημένη στο εμπρόσθιο μέρος του αυτοκινήτου. Το βίντεο από την κάμερα αναλύεται καρέ από το νευρωνικό δίκτυο με σκοπό να ανιχνευτούν οι λωρίδες. Τέλος, αφού ανιχνευθούν χρωματίζει με πράσινο χρώμα την περιοχή ανάμεσα στις δύο λωρίδες.
Abstract
The present dissertation focuses on the study and implementation of artificial neural networks and specifically convolutional neural networks as well as how they can be applied to machine vision and specifically to the problem of lane detection. The necessary material for the study will be given both in theory and in practice and all the necessary concepts for the full understanding of the subject will be analyzed. In the first chapter we will refer to some of the most popular ADAS, systems that are found in a variety of vehicles. Then we will get to know machine learning, a broader branch of which the neural networks are part of, and then we will discuss the structure of a physical as well as an artificial neuron. In the third chapter we will analyze in depth the Convolutional Neural Networks, a special category of neural networks, which are the bleeding edge of machine vision. Then, in the fourth and final chapter, the application and the results of the neural network are analyzed, the code of which is written in python language.Autonomous driving is increasingly entering our lives with the first autonomous level 3 vehicles already on the roads and companies consuming huge resources in research and development of new methods of active and passive safety. But what is the key component of autonomous driving?While driving, maintaining a steady course between the road markings is a key concern for every driver. This process is done almost unconsciously by both experienced and novice drivers. On the other hand, compared to the human brain computers possess limited capabilities. Without the proper software a computer cannot understand the difference between white or yellow stripes and the rest of the road.In this thesis we present a lane detection system using a simple camera mounted on the front of the car. The video from the camera is analyzed frame by frame by the neural network in order to detect the lane markings. Finally, after being detected, it paints green the road between the two lanes