Deepstreet is the project I developed for my high school thesis in IT @ ITI Marconi, Verona (IT). This project aims to provide a system able to recognize the type of a street sign into an image, using Deep Learning techniques.
- Written in Python
- Keras as a main library for Deep Learning, with Numpy and OpenCV
To run all the scripts you need the following packages:
- Python version 3.5
numpy
v. 1.13matplotlib
v. 2.0OpenCV
v. 3.0tensorflow
v. 1.1 -- ortensorflow-gpu
if you have GPUs on your machinekeras
v. 2.0hdf5
v. 1.8 andh5py
v. 2.7
Optional, but recommended:
- NVIDIA cuDNN if you have NVIDIA GPUs on your machine. https://developer.nvidia.com/rdp/cudnn-download
The easiest way to get (most) these is to use an all-in-one installer such as Anaconda from Continuum. This is available for multiple architectures.
Download the German Traffic Sign Recognition Benchmark (GTSRB) from https://benchmark.ini.rub.de/
To run the scripts, just download this repo and execute:
python <filename.py>
The two main scripts (deepstreet_training.py
and deepstreet_predict.py
) can be executed with optional arguments. To find out the arguments for, let's say, deepstreet_training.py
execute:
python deepstreet_training.py --help
Using TensorFlow backend.
usage: deepstreet_training.py [-h] [--gpu GPU] [--epochs EPOCHS]
[--output_dir OUTPUT_DIR]
[--input_dir INPUT_DIR] [--debug DEBUG]
Run a training experiment using pretrained VGG16, specified on the deepstreet
DataSet.
optional arguments:
-h, --help show this help message and exit
--gpu GPU GPU Device (default: 0)
--epochs EPOCHS Number of Epochs during training (default: 10)
--output_dir OUTPUT_DIR
Output directory
--input_dir INPUT_DIR
Input directory
--debug DEBUG Debug mode
All contributions and suggestions are welcome!
For suggested improvements, please create an issue.
This project is licensed under the MIT License - see the LICENSE.txt file for details.