The document presents a project on developing a self-driving car simulator using deep learning. The objective is to train a self-driving car using convolutional neural networks (CNN) to drive autonomously in a car simulator. Data will be collected by driving in the simulator and preprocessing the data for training a CNN model. The model will then be tested by connecting it to the simulator to drive autonomously. Future work could include monitoring passenger safety and developing a better understanding of how CNNs work.
4. Abstraction:
Self-driving cars has become a trending subject with a
significant improvement in the technologies in the last
decade. The project purpose is to train a neural network to
drive an autonomous car agent on the tracks of Udacity’s
Car Simulator environment.
5. Introduction:
Self-driving cars will need more than human driving large
consumer market protection capabilities. But surely, will
have a significant impact on the timeline of transportation
and a milestone in human history.
6. Problem Statement:
The challenge is to mimic the driving behavior of a human
on the simulator with the help of a model trained by deep
neural networks.
Problem Solution:
The UDACITY simulator can be used to collect data by
driving the car in the training mode using a joystick or
keyboard. We store the data in CSV file. Using that CSV file
we generate the model.
7. Technology:
Technologies that are used in the implementation of this
project and the motivation behind using these are
described in this section:
Technologies:
a. TensorFlow
b. Keras
Library:
a. Numpy
b. scikit-learn
c. OpenCV
d. imgaug
8. Machine Requirement
The machine on which this project was built, is a personal
computer with following configuration:
• Processor: Intel(R) Core i5-7200U, x64 processor
• RAM: 8GB
• System: 64bit OS
10. Project Steps:
1. Collection of data.
Dataset:
First we will drive the car on that simulator and after some
10 to 15 min driving it will create a CSV file of my driving
behavior.
11. 2. Data preprocessing.
We will perform different preprocessing steps on data.
a. Data Visualization. b. Data Balancing.
3. Split Data for Training and Testing.
4. Data Augmentation.
12. 4. Model Creation using CNN.
After all process we will create one model using my
driving behavior data and apply on it So the key here
is that we collect data and based on this we create a
model that generalizes how to drive.
13. 5. Testing Model
We connect our model to simulator using socketio library and run
simulator on autonomus mode.
Library used
a. Socketio.
14. Future Scope
In future work to extend CNN current to regional-based CNNs to monitor passenger safety as welldone.
More work is needed to develop resilience network, and a better understanding of how CNN works inside. In
addition, including other cars dynamics Database parameters such as speed and velocity will do provide for
real-life navigation based on the car.