Code and files of the deep learning model used to win the Nexar Traffic Light Recognition challenge
This repo contains the files used to train and run the classifier described in this blog post. This was done during a challenge by Nexar to recognize traffic lights based on images taken by their dashcam app.
Caffe with python bindings.
/model: contain a caffe deploy.prototxt file and three weights files. The three weights files are used together in a model ensemble.
/testing: has jupyter notebook files that run the model and perform the weighted average.
/training: contains the files needed to train the model (except the training data)
The images were first converted to lmdb format and resized to 256x256 using this command:
GLOG_logtostderr=1 ~/caffe/build/tools/convert_imageset \ --resize_height=256 --resize_width=256 --shuffle \ ~/nexar/images/ \ ~/nexar/labels_test.txt \ ~/nexar/lmdb/test_lmdb
Each model has a directory in
trainingwith some or all of the following files:
solver.prototxt caffe solver file solver_p2.prototxt caffe solver file with lower base learning rate train_val.prototxt network training file rotation_layer.py python caffe layer for data augmentation with rotation
squeeze_net_manual_scratch__oswas training from scratch. The other two models were fine-tuning from weights trained on ImageNet. The weights file is named