The first road elements SaferAuto would detect are the different traffic signs. Hence, the next step in the project would be to find a database with a complete set of traffic signs images and annotations of the elements.
However, SaferAuto is intended to be initially focused on detecting European road elements so the dataset will be from one or several European countries. But, are all the traffic signs equal over Europe?
In order to find the answer to that question, I found the perfect paper where the differences between the traffic signs of Europe are stated. It is called “Classification of Traffic Signs: The European Dataset” by Gamez Serna, Citlalli & Ruichek, Yassine. (2018).
The dataset stated in the paper is called The European Dataset and it is composed of traffic signs from 6 European countries: Belgium, Croatia, France, Germany, Netherlands, and Sweden. It contains more than 80.000 images divided into 164 classes, by gathering public available datasets. Unfortunately, the authors of the papers did not share the resulting dataset, but we can know which sources they used.
In respect of the difference between traffic signs in Europe, in 1968, the Convention on Road Signs and Signals was established to have a standard with the sizes, shapes, and colors to be used, but it allows each country to use its own symbols and inscriptions. Therefore, we can find some intraclass variability between counties, as you can see in the following picture.
Before referring to the datasets they used, first I have to state that its aim for gathering the dataset was different. They wanted only to classify the traffic signs, not to detect them in an image. Despite they seem similar tasks, they are indeed very different. In the first task, the network receives a cropped image containing a traffic sign and classifies it. In the second one, the network has to classify the traffic sign and locate it in the image with a bounding box.
As our task is the second one and we are using YOLO framework, our network needs to detect patterns from the context of the photo, not from the object only. For this reason, several datasets from the stated sources in the article were discarded.
The first dataset I find useful for this task is the German Traffic Signs Detection Benchmark (GTSDB). It is a single-image detection assessment for researchers in computer vision. The features of this dataset are:
- 900 images (divided into 600 training images and 300 evaluation images).
- It contains 42 different categories (speed limit 20, speed limit 30, yield, bend left, stop…)
- The images contain zero to six traffic signs. However, even if there is a traffic sign located in the image it may not belong to the competition relevant categories (prohibitive, danger, mandatory).
- Images are stored in PPM format.
- The sizes of the traffic signs in the images vary from 16×16 to 128×128.
- Traffic signs may appear in every perspective and under every lighting condition.
Here you can see a collage with most of the classes that this dataset contains:
To use it in darknet, a python program was built in order to parse the annotation in the correct darknet format, convert the pp2 images to jpg files and group them by training set and testing set. You can see the program here: https://github.com/angeligareta/SaferAuto/blob/master/res/datasets/scripts/extract_img_labels_GTSDB.py
In the next posts, we will see how the process of training the model with this dataset works and how to install Darknet. Don’t forget to follow me on Twitter to stay updated!:https://twitter.com/SaferAuto