This is the code for thistutorial by Siraj Raval. You can find the simulator here.
Overview
The objective of this project is to clone human driving behavior using a Deep Neural Network. In order to achieve this, we are going to use a simple Car Simulator. During the training phase, we navigate our car inside the simulator using the keyboard. While we navigating the car the simulator records training images and respective steering angles. Then we use those recorded data to train our neural network. Trained model was tested on two tracks, namely training track and validation track. Following two animations show the performance of our final model in both training and validation tracks.
Github Repository:
- https://github.com/udacity/self-driving-car-sim
What Will I Learn?
- You learn how the entire self driving car pipeline works
- You Learn computer visioin, path planning
- You Learn control, sensor fusion and localization.
Difficulty
- Basic
Requirements
This project requires Python 3.5 and the following Python libraries installed:
- Keras
- NumPy
- SciPy
- TensorFlow
- Pandas
- OpenCV
- Matplotlib (Optional)
- Jupyter (Optional)
All Code : https://github.com/llSourcell/self_driving_cars_explained?files=1
Run this command at the terminal prompt to install OpenCV. Useful for image processing:
conda install -chttps://conda.anaconda.org/menpoopencv3
How to Run the Model
This repository comes with trained model which you can directly test using the following command.
python drive.py model.json
Implementation
If you prefer watching a video..
Video
Results
In the initial stage of the project, I used a dataset generated by myself. That dataset was small and recorded while navigating the car using the laptop keyboard. However, the model built using that dataset was not good enough to autonomously navigate the car in the simulator. However, later I used the dataset published by the Udacity. The model developed using that dataset (with the help of augmented data) works well on both tracks as shown in following videos.
More learning Lesson
- https://www.ucsusa.org/clean-vehicles/how-self-driving-cars-work#.WwGlx9MvwmI
- https://medium.com/swlh/everything-about-self-driving-cars-explained-for-non-engineers-f73997dcb60c
- https://hackernoon.com/self-driving-cars-explained-db9fc8ced7e8
- https://searchenterpriseai.techtarget.com/definition/driverless-car
Summary
In this tutorial, I explain how the entire self driving car pipeline works, including computer vision, path planning, control, sensor fusion, and localization.
My Repository :
- https://github.com/llSourcell/self_driving_cars_explained