Develop a deep learning neural network to replicate (clone) driving behavior. To accomplish this a convolutional neural network (CNN) is developed to correctly steer a car along the road. Specifically the CNN will be trained using data from a specific track. Many aspects of Keras, OpenCV, python, numpy, and matplotlib are used to develop the CNN. The model can be found here model.py
The following files are included :
model.py
Keras implementation of behavioral cloning modelsdc_lib.py
Helper functions for the behavioral cloning modelmodel.h5
Autonomous driving capture of the behavioral modelrun1.mp4
Video capture of autonomous driving of the behavioral modelwriteup_report
Detailed writeup of model creation and evaluationsample_data_set
A sample of images from the data setmodel_mse_loss.csv
Keras CSVLogger training outputsimple_clone_model.py
Very simple keras models for evaluating data set
The following steps are used to run the model:
-
Install miniconda environment and related packages
https://conda.io/miniconda.html
-
Clone the SDC-BehavioralCloning git repository
$ git clone https://github.com/jfoshea/Driver-Behavioral-Cloning.git
-
enable cardnd-term1 virtualenv
$ source activate carnd-term1
-
Train the model (Note data set is needed to train a model)
$ python model.py
-
Run the model in autonomous mode in the simulator.
$ python drive.py model.h5 $ Launch simulator select track and click Autonomous Mode
A detailed writeup of the behavioral cloning project and challenges are located here [writeup_report] (https://github.com/jfoshea/Driver-Behavioral-Cloning/blob/master/writeup_report.md)