After playing with lane lines detection and traffic signs recognition, it's time to feed a Deep Neural Network with a video recorded during human driving. The model will be trained afterwards to act "humanlike" and predict correct steering angles while driving autonomously. Such procedure is also called Behavioral Cloning. For simplicity (and public safety 🙂 ) I will collect video data and test the resulting DNN in a game-like simulator developed by Udacity. This project stands as a third assignment in "Self-Driving Car Engineer" course.
I'm going to describe a complete pipeline for Traffic Sign Recognition problem posed in Udacity course "Self-Driving Cars Engineer". Traffic Sign Recognition is a basic, day by day task for self-driving cars. That's why it has to be covered in the series about Self-Driving Cars where I present different projects related to this field. The recognition system processes a traffic sign image extracted from the road scene. Eventually, it should classify that sign into one of 43 categories. In order to make it happen, a Convolutional Neural Network is applied, being trained with 50.000 images beforehand.
Hough Lines Transform is the key method used in the previous project where lane lines are detected. It is very helpful in many Computer Vision applications. The original form of Hough Transform aimed to identify straight lines. And that's what I'm going to explain today. Furthermore, this technique was later generalized to detect also other shapes like circles, ellipses etc. .
Although Deep Neural Networks play bigger and bigger role in scene recognition, classic Computer Vision methods are still valid and are applied to problems from autonomous cars industry. I'm going to present how to perform lane lines detection using OpenCV library and Python language using image processing techniques. It's the first project in the series about Self-Driving Cars.
Isn't it beautiful that having only a computer, internet connection and some software skills you can learn and develop things which relate to the most cutting-edge technologies today? And I don't mean only pure software business like web services, social media or mobile apps. With a bit of dedication and persistence you can enter to the world of robotics, AI, VR or... Self-Driving Cars.