Traffic sign detection using computer vision
This page is a companion to my master thesis in Vision, Graphics, And Computer Vision called Traffic Sign Detection Using Computer Vision. This page contains downloads of the code used in the project. Most of the code is C++ using the OpenCV and Qt libraries, so these libraries are required if you wish to compile and run the code. A few tools are written in Python, can be run with Python 2.7, and requires Python Image Library (PIL).
The easiest way to compile the programs is to install OpenCV and Qt and open the .pro file for a particular program in Qt Creator and compile it from there. The programs have been developed using OpenCV 2.3.1 and Qt 4.7 and all have been tested on Ubuntu Linux. They should also run on Windows or Mac (the annotation programs have been tested and verified to work on Windows), but may require a few changes to the compiler instructions.
This project also includes a traffic sign database. It should be downloadable from the LISA website, pending some server setup on their side. Due to the large size (~25 Gb) it is not offered for download here.
The full report can be downloaded here: report.pdf.
- Full download. All the files below.
- Common files. These files are common files and libraries used for all programs below. The OpenCVWidget that is created to connect OpenCV and Qt has full Doxygen documentation available.
- Video Annotator. Used for annotating video.
- Frame Annotator. Used for annotating individual frames in videos.
- Annotation tools. A set of tools for handling text-based annotations. These are written in Python.
- Traffic sign detector. A fully shape based traffic sign detector as described in chapter 4.
- Cascade detector. A simple interface for OpenCV's Viola-Jones detector, used for testing in the synthetic training data chapter.
- Synthetic training generator. Used for generating synthetic training data.