/Traffic_sign_detect

交通标志检测与识别

Primary LanguagePython

Traffic_sign_detect_tensorflow

Note: This project was originally folked from https://github.com/ZhangDY1994/Traffic_sign_detect, but now the original repository is no longer existed.

This project is the implementation of the paper 《Detection of Multiple Objects in Traffic Scenes using Cascaded Convolutional Networks》 for traffic sign detection and recognition with tensorflow. The code is adapted from this repo and repo.
We use the TsingHua-Tencent 100k traffic dataset as benchmark. Our project uses two-stage architecture just like fast-RCNN. The first step proposes the bounding boxes which contain traffic signs. This step adopts cascaded networks which compose of three sub-network(propose network, refine network, output network). The idea is similar to mtcnn which is designed for face detection, classification and alignment. In recognition step, the purpose is to put the cropped image from the bounding box into the network to get the predicted label of the cropped image. We reference the DenseNet to design our classification network.

Prerequisites

  • Python 3.5
  • TensorFlow >= 1.0.0
  • Numpy
  • easydict

Result

orig

orig

Usage

In the project, we have provided you with the trained model. You can run the code directly using:
$ python runAll.py
You also can train your dataset but you need to change some code for your purpose. First you download the Tsinghua-Tencent dataset, you can use the file in prepare folder in mtcnn . After you prepare the dataset, you can run:
$ python train_P_net.py $ python train_R_net.py $ python train_O_net.py
in example folder to train the cascaded network.

In the end, you can run :
$ python run_dense_net.py
to train the classification network. You can find the run_dense_net.py in densenet. However you have to adapt the files in data_providers folder to fit your dataset.
After these steps, you can train your dataset for object detection and recognition.

References