Page 36 - Krész, Miklós, and Andrej Brodnik (eds.). MATCOS-13. Proceedings of the 2013 Mini-Conference on Applied Theoretical Computer Science. Koper: University of Primorska Press, 2016.
P. 36
Figure 2: On the left we have the original segmented
image. We then perform two morphological opera-
tions - first erosion (middle image) and then dila-
tion (right image). The result is the symbol with
the original size but without the noise.

Figure 1: The distances between randomly gener- 3.1 Preliminaries
ated pairs of points are converted to a distance his-
togram with the appropriate use of normalization. First we read the image, change its color space from RGB to
The histogram represents the D2 shape function for HSV and perform the segmentation of the image by using the
the cup and therefore defines the object descrip- mean of all the brightness values - if a pixel has a brightness
tion.1 value smaller than the mean brightness of the image, we set
the corresponding pixel of the binary image to 1, otherwise
number of sampled point-pairs on the object we get such a to 0. Once the image is successfully segmented, we have to
distribution of the distance histogram that is specific for the make sure that aside from the traffic sign symbol we did
object, which means that we are able to recognize that ob- not detect any anomalies that are not part of the symbol.
ject. In our case we compare the distance histogram with the These errors can occur due to different light reflections, dirt
histograms created from each of the images in the learning or dust on the camera lens as well as on the traffic sign etc.
set. The procedure itself is therefore simple - we randomly
generate a large number of point-pairs on the surface of the We use two morphological operations for noise reduction -
object and compute distances between them. It is worth erosion and dilation. With erosion, we shrink all the areas in
noting that aside from the D2 shape function, Osada intro- the image and as a result the noise is removed, but we also
duced other randomized shape functions [8]: get smaller areas of the detected traffic sign symbol. Because
we only want to delete the noise and preserve the symbol
• A3: computing the angle between three randomly gen- itself, we then use the morphological operation of dilation
erated points on the surface of the 3D model of the which expands the symbol to its primary size. Figure 2
object, shows the effect of these operations.

• D1: computing the distance between a fixed point and In this paper we focus on speed limit traffic signs, where
a randomly generated point on the surface of the ob- the symbol can be divided into numerals that are recog-
ject, nized separately, which is why the next step is searching
for connected components. This search is important for the
• D3: computing the square root of the surface of the recognition of numerical symbols, because with it, we can
triangle, defined by three randomly generated points divide the number into numerals and since the numerals do
on the surface of the object, not overlap, we can safely assume that one connected com-
ponent represents one numeral. The reasoning behind this
• D4: computing the cube root of the volume of the search is that we can achieve greater recognition accuracy
tetrahedron, defined by four randomly generated points by recognizing each of the numerals than by recognizing the
on the surface of the object. whole number at once because we do not have to model ad-
ditional dependencies between the numerals which can be
Out of all these functions, the D2 shape function turned out different from traffic sign to traffic sign - the most obvious
to be the most robust [12], which is why we decided to use of these is the distance between the numerals in the num-
it for our application in traffic sign symbol recognition. ber. In the case of non-numerical symbols, the components
would be recognized separately as well.
3. PROGRAM DESCRIPTION
3.2 Computing the D2 shape function
The program for traffic sign symbol recognition was devel-
oped in the Matlab programming language and in this Sec- At the beginning of the D2 shape function computation we
tion we explain how it works. Here we do not focus on traffic visit each of the connected components (except for the first
sign detection and assume that traffic signs are already seg- one which represents the background). The first step is the
mented and symbols cropped out of them. The detection generation of random x and y coordinates between values
and cropping is performed within the program for traffic 1 and the image height for the x coordinate and between
sign detection which was previously developed and is not a 1 and the image width for the y coordinate - the number
part of the traffic sign recognition program. of generated coordinates is defined by an input parameter.
Then we go through the array of generated coordinates and
1The image is taken from Wohlkinger’s paper [12]. for each pair of coordinates we check if the pixel with that
coordinates lies on the numeral that is currently being rec-
ognized. If it does, we copy this pair into a new coordinate

m a t c o s -1 3 Proceedings of the 2013 Mini-Conference on Applied Theoretical Computer Science 36
Koper, Slovenia, 10-11 October
   31   32   33   34   35   36   37   38   39   40   41