DeepTest is a systematic testing tool for automatically detecting erroneous behaviors of DNN-driven vehicles that can potentially lead to fatal crashes.
OS: Ubuntu 16.04
Read through and run ./install.sh
- Reproducing Udacity self-driving car Challenge2[1] results for Rambo, Chauffeur and Epoch models.
- Models and weights files are required to run these scripts.
- For Rambo model, Keras backend should be changed to theano.
- Generate synthetic images, calculate cumulative coverage and record predicted outputs.
- ncoverage.py: define NCoverage class for computing neuron coverage.
- Combine different transformations and leverage neuron coverage to guide the search.
- Re-runing the script will continue the search instead of starting from the beginning except deleting all pkl files.
Models and Saved Weights
- Rambo [2]
- Chauffeur [3]
- Epoch [4]
mkdir hmb3
python generate_hmb3.py --bagfile HMB_3.bag
The following commands are to install python-rosbag api.
sudo apt-get install python-rosbag
sudo apt-get install python-genmsg
sudo apt-get install python-genpy
sudo apt-get install python-rosgraph-msgs
./Dataset/
├── hmb3/
└── hmb3_steering.csv
└── images
└── Ch2_001/
└── center/
└── images
└── CH2_final_evaluation.csv
cd models/
python epoch_reproduce.py --dataset DATA_PATH/Dataset/
python chauffeur_reproduce.py --dataset DATA_PATH/Dataset/
python rambo_reproduce.py --dataset DATA_PATH/Dataset/
cd testgen/
./epoch_testgen_driver.sh 'DATA_PATH/Dataset/'
./chauffeur_testgen_driver.sh 'DATA_PATH/Dataset/'
python rambo_testgen_coverage.py --dataset DATA_PATH/Dataset/
cd guided/
mkdir new/
rm -rf *.pkl
python epoch_guided.py --dataset DATA_PATH/Dataset/
python chauffeur_guided.py --dataset DATA_PATH/Dataset/
python rambo_guided.py --dataset DATA_PATH/Dataset/
https://deeplearningtest.github.io/deepTest/
If you find DeepTest useful for your research, please cite the following paper:
@article{tian2017deeptest,
title={DeepTest: Automated testing of deep-neural-network-driven autonomous cars},
author={Tian, Yuchi and Pei, Kexin and Jana, Suman and Ray, Baishakhi},
journal={arXiv preprint arXiv:1708.08559},
year={2017}
}
- Udacity self driving car challenge 2.
https://github.com/udacity/self-driving-car/tree/master/challenges/challenge-2. (2016). - Rambo model.
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models/rambo. (2016). - Chauffeur model.
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models/chauffeur. (2016). - Epoch model.
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models/cg23. (2016).