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.pyKeras implementation of behavioral cloning modelsdc_lib.pyHelper functions for the behavioral cloning modelmodel.h5Autonomous driving capture of the behavioral modelrun1.mp4Video capture of autonomous driving of the behavioral modelwriteup_reportDetailed writeup of model creation and evaluationsample_data_setA sample of images from the data setmodel_mse_loss.csvKeras CSVLogger training outputsimple_clone_model.pyVery 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)