Skip to content

Mohammad-Dwairi/Self-Driving-Car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

Self-Driving-Car Applied Deep Learning

Self Driving Car simulation built using Tensorflow and Keras neural network library. The model is connected to Udacity Self Driving Car Simulator using Flask web-framework and socketio.

alt text

Model

The Neural Network Model follows the Nvidia Model Architecture which consists of 9 layers, including a normalization layer, 5 convolutional layers, and 3 fully connected layers. The input image is split into YUV planes and passed to the network: Source: https://developer.nvidia.com/blog/deep-learning-self-driving-cars/

alt text

Steering Angles Histogram:

X-axis -> Steering Angle

Y-axis -> Number of Samples

alt text

Balanced Steering Angles Histogram:

The training data is skewed towards the middle because most of the time the car is driven in a straight line while training. If we train the convolutional neural network based on this data, the model could become biased towards driving straight all the time.

Solution: Flatten the data distribution and cut off extraneous samples for specific bins whose frequency exceed 400.

X-axis -> Steering Angle

Y-axis -> Number of Samples

alt text

Train-Test Split:

X-axis -> Steering Angle

Y-axis -> Number of Samples

alt text

Original & Pre-Processed Image:

alt text

Augmentation Techniques

Augmentation Techniques add variety to the dataset and help the model to learn more efficiently.

Different transformations applied on images:

1- Zooming

3- Shifting

4- Flipping

alt text

Model Summary

alt text

About

Self Driving Car simulation using Tensorflow and Keras neural network library.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages