`
101
Figure 22 – Types of road signs
This set is divided into two parts: training and test samples consisting of about
40,000 and 12,000 images respectively.
The test set contains 12,000 images that do not participate in the training of
the convolution neural network.
Figure shows images of road signs contained in the training set.
2.3 Selection of real road scenes of GTSRB
Another data set for network training is the GTSDB database of German road
signs, which contains images of real scenes. It includes 900 images, one third of
which are intended for checking for road signs detection
and for training these
systems.
This data set will be used in the algorithms described below.
Figure 23 – The example images from a sample
`
102
2.4 Software support
At present, there is a huge number
of programming languages, as well as
program libraries for working with artificial neural networks (ANN)
and genetic
algorithms (GA), implemented in various programming languages such as C++, C#,
Python, etc. The Python programming language has been chosen as a tool for solving
problems and implementing algorithms.
Python is a high-level general-purpose programming language aimed at
increasing developer productivity and code readability. The Python kernel syntax is
minimalistic. At the same time the standard library includes a large number of useful
functions.
Python
supports structural, object-oriented,
functional, imperative and
aspect-oriented programming. The main architectural features are dynamic typing,
automatic memory management, full introspection, exception handling mechanism,
multithreaded
computing support, and high-level data structures. Splitting of
programs
into modules, which in their turn can be combined into a package, is
supported.
To implement the software product, the Anaconda Python interpreter version
3.6 and the "Spyder" development environment were chosen. The advantage of this
environment
is the ease of installation, because it is installed together with
Anaconda; also, it is freely distributed.
The Google Colaboratory was also the development environment. It is a cloud
service aimed at simplifying research in the field of machine and in-depth learning.
Using Colaboratory, you can get remote access to a machine with a connected video
card (NVidia Tesla K80), and it is completely free.
This is a huge advantage of using this development environment, as well as
mounting a Google disk in the Colaboratory virtual machine's file system: you can
then use your Google disk as a normal directory.