<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>GPU. CEUR Workshop Proceedings</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.18287/1613-0073-2016-1638-477-483</article-id>
      <title-group>
        <article-title>REAL-TIME ROAD SIGNS RECOGNITION USING MOBILE GPU</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>P.Y. Yakimov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Samara National Research University</institution>
          ,
          <addr-line>Samara</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>1638</volume>
      <fpage>477</fpage>
      <lpage>483</lpage>
      <abstract>
        <p>This article shows an effective implementation of the algorithm for detection of road signs using video obtained by a camera installed in a vehicle. Road signs detection and recognition are implemented using CUDA and operate in real-time on a mobile GPU. Vehicle speed is used to predict the position of road signs in the adjacent frames in a video sequence. The experimental results confirmed the high efficiency of the developed road signs system.</p>
      </abstract>
      <kwd-group>
        <kwd>road signs recognition</kwd>
        <kwd>traffic signs recognition</kwd>
        <kwd>tracking road signs</kwd>
        <kwd>image processing</kwd>
        <kwd>mobile computer vision</kwd>
        <kwd>mobile GPU</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In the past 10 years, the problem of detection of road signs has been solved by many
scientists in different countries [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The importance of this problem is vital
due to road safety, and first studies were started over 30 years ago. However, the
power of computer equipment at that time did not allow to carry out frame processing
in real time. In addition, digital cameras are not allowed to obtain images of sufficient
size.
      </p>
      <p>Recent development of modern mobile processors allowed many car manufacturers to
install computer vision systems in automobiles. Among other tasks, such systems also
solve the road signs recognition task. However, the main problem of currently
provided systems is the low detection accuracy, as well as the inability of some systems to
recognize some geographically-specific road signs, for example Russian signs.
This article describes the developed technology to detect and recognize road signs in
real-time. The developed system also uses the speed obtained from the vehicle. It
makes it possible to predict not only the presence of the object, but also its size and
exact location in the adjacent frames. Thus, detection accuracy is improved, while the
computational complexity is the same.</p>
      <p>To provide a driver with actual information about currently applicable road signs, the
system should recognize the localized object. After the localization procedure, a small
image of a sign is cut from the original image. The size of this image is scaled to
31x31 pixels, which is enough for recognition. In fact, recognition of objects in such
small images does not cause any difficulties, since all possible images of road signs
are known in advance. In addition, in the case of successful localization procedures,
the exact coordinates of a road sign are known. Thus, the template matching
algorithm is used at the classification step. This algorithm shows good results in
combination with the localization step.</p>
      <p>
        In order to train and test the developed algorithms, we used the German Traffic Sign
Detection Database [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Fig. 1 shows several images used to obtain templates for the
recognition algorithm and to test the localization method.
Recognition of road signs Is usually implemented in two steps: road sign localization,
also known as detection, and its subsequent classification. Most of the detection
methods use a single frame from a video sequence to localize the object. This means
that they do not use additional information about the sign presence in adjacent frames.
Such approaches typically encounter problems with performing in real-time and the
detection accuracy. On the other hand, several studies describe tracking algorithms
that attempt to predict the location of road signs in the image sequence.
In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], the authors show that the combination of detection and tracking increases the
reliability of the recognition system by reducing the number of false detections. The
article [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] shows that tracking helps perform localization faster. However, these
algorithms have greater computational complexity and cannot be used in real-time. Paper
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] presents an algorithm for the detection of road signs in video sequences using the
current vehicle speed. It allows to predict the exact location of a road sign in the next
frame.
      </p>
      <p>The developed technology described in this paper consists of three steps: image
preprocessing, the localization of a road sign, and its classification.</p>
      <p>
        To extract red and blue colors from a source image, the HSV color space is used in
the preprocessing step. Due to errors of camcorder sensor or small colored objects in
the images, after applying a threshold filter, some spot noise may occur. To remove
this noise, the algorithm described in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is applied. Also, paper [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] shows the
effective implementation of the noise removal algorithm using massively multi-threaded
architecture CUDA. The acceleration using GPUs achieved 60-80 times as compared
with conventional implementation on a CPU. The size of a video frame was
1920x1080 pixels. The CPU-implementation performs in 0.7-1 second per frame.
Using CUDA at NVIDIA GeForce 335M reduced the performing time to 7-10 ms,
which satisfies the requirements of video processing in real time.
      </p>
      <p>
        Paper [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] discusses algorithms for detection and tracking of road signs. The method of
localization, which is a modification of the generalized Hough transform, has been
developed taking into account the constraints on the executing time of a single video
sequence frame processing. The algorithm shows effective results and works well
with the preprocessed images. Tracking using the value of the current speed of the car
has improved the performance of the system, as the search area in the adjacent frames
can be significantly reduced. In addition, the presence of a sign in the sequence of
adjacent frames in predicted areas significantly increases the confidence of the
detection. Classification of localized road signs will ensure that the whole procedure of
recognition of road signs performs successfully.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Road Signs Classification</title>
      <p>To classify the found object, the algorithm uses specially prepared etalon binary
images. Fig. 2 shows several such images, which are actually the cut inner area of road
signs.
For recognition of a sign, a simple subtraction of two images is applied and then the
pair with the lowest value is chosen, which will point to the highest proximity to a
certain etalon. In the case of large values, the algorithm will give a false detection
message, as none of the etalon images suits the localized area. This means that the
found the area most likely does not contain a road sign.</p>
      <p>The execution time for such classification in average is 1.2 ms using 32 types of
etalon images. Here, each single etalon image type corresponds to a unique image of a
road sign. There can be an unlimited number of etalon images of each type in order to
consider as many road signs variants as possible. For example, this implementation of
the method uses 5 etalon images for every road sign type, for a total of 160 etalon
images.</p>
    </sec>
    <sec id="sec-3">
      <title>Experimental results</title>
      <p>
        To assess the accuracy of the detection algorithm, the German annotated image data
base containing images with road signs was used [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. It contains more than 50 000
images of road signs, registered under different conditions. In order to assess the
quality of recognition, the overall number of the correctly localized and classified road
signs was obtained. When testing the developed algorithms, only 9987 images
containing road signs of the required shape and with red outlines were taken into account.
The experiments showed 97.3% correctly localized and classified prohibiting and
warning road signs. Table 1 shows the results of accuracy and speed of the algorithms
in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and the method described in this article.
      </p>
      <sec id="sec-3-1">
        <title>Algorithm Accuracy Executing time, FPS</title>
        <p>
          Sliding window + SVM [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] 100 % 1
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Modified Generalized Hough 97,3 % 43</title>
      </sec>
      <sec id="sec-3-3">
        <title>Transform (GHT)</title>
        <p>with preprocessing</p>
      </sec>
      <sec id="sec-3-4">
        <title>Modified Generalized Hough 89,3 % 25</title>
      </sec>
      <sec id="sec-3-5">
        <title>Transform (GHT)</title>
        <p>without preprocessing</p>
        <p>
          Viola-Jones [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] 90,81 % 15
        </p>
        <p>
          HOG [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] 70,33 % 20
The accuracy of the algorithms listed in the table was obtained using the annotated
image database GTSDB [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. The sliding window algorithm demonstrates the best
results in terms of accuracy of road signs recognition – 100%. However, the
developed GHT algorithm shows the best executing time. Modification of the generalized
Hough transform was also tested in the absence of preprocessing and showed not only
lower accuracy, but also almost double the worst executing time.
        </p>
        <p>The modified GHT method was implemented using CUDA technology. Table 2
shows the results of performance improvement. To measure the performance, the
mobile processor Nvidia Tegra K1 was used, which contains 192 graphics cores for
computation using CUDA technology and 4 CPU cores of ARM architecture.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>The article describes a technology of detection and recognition of road signs. To
localize a road sign, a modification of the generalized Hough transform has been
developed taking into account the constraints on the executing time of a single frame. The
algorithm shows effective results and works well with the preprocessed images.
Tracking using the value of the current car velocity has improved the performance of
the system, as the search area in the adjacent frames can be significantly reduced. In
addition, the presence of the sign in the sequence of adjacent frames in predicted areas
significantly increases the confidence of correct detection. Classification of localized
road signs ensures that the whole procedure of recognition of road signs is successful.
Testing the described algorithms using video sequences has proved the ability to
process high-resolution video stream in real-time. The detection range of road signs when
using a FullHD camera is up to 50 m.</p>
      <p>Massively multithreaded programming technology CUDA was used to speed up the
implementation of the developed algorithms. When using a mobile GPU Nvidia Tegra
K1, the acceleration reaches 15 times.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>This work was supported by Project #RFMEFI57514X0083 by the Ministry of
Education and Science of the Russian Federation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Shneier</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>Road sign detection and recognition</article-title>
          .
          <source>Proc. IEEE Computer Society Int. Conf. on Computer Vision and Pattern Recognition</source>
          ,
          <year>2005</year>
          :
          <fpage>215</fpage>
          -
          <lpage>222</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ruta</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Porikli</surname>
            <given-names>F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Watanabe</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kage</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sumi</surname>
            <given-names>K.</given-names>
          </string-name>
          <article-title>A New Approach for In-Vehicle Camera Traffic Sign Detection and Recognition</article-title>
          .
          <source>IAPR Conference on Machine Vision Applications</source>
          (MVA),
          <source>Session 15: Machine Vision for Transportation</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Belaroussi</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Foucher</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tarel</surname>
            <given-names>JP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soheilian</surname>
            <given-names>B</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Charbonnier</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paparoditis</surname>
            <given-names>N</given-names>
          </string-name>
          .
          <source>Road Sign Detection in Images. 20th International Conference on Pattern Recognition (ICPR)</source>
          ,
          <year>2010</year>
          :
          <fpage>484</fpage>
          -
          <lpage>488</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Houben</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stallkamp</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salmen</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlipsing</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Igel</surname>
            <given-names>C</given-names>
          </string-name>
          .
          <article-title>Detection of Traffic Signs in Real-World Images: The German Traffic Sign Detection Benchmark</article-title>
          .
          <source>International Joint Conference on Neural Networks</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Lafuente-Arroyo</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lafuente-Arroyo</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maldonado-Bascon</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gil-Jimenez</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>GomezMoreno</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lopez-Ferreras F</surname>
          </string-name>
          .
          <article-title>Road sign tracking with a predictive filter solution</article-title>
          .
          <source>IEEE 32nd Annual Conference on Industrial Electronics</source>
          ,
          <year>2006</year>
          : P.
          <fpage>3314</fpage>
          -
          <lpage>3319</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lopez</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fuentes</surname>
            <given-names>O</given-names>
          </string-name>
          .
          <article-title>Color-based road sign detection and tracking</article-title>
          .
          <source>Image Analysis and Recognition. Lecture Notes in Computer Science</source>
          , Springer,
          <year>2007</year>
          :
          <fpage>1138</fpage>
          -
          <lpage>1147</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Yakimov</surname>
            <given-names>PY</given-names>
          </string-name>
          .
          <article-title>Tracking traffic signs in video sequences based on a vehicle velocity</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2015</year>
          ;
          <volume>39</volume>
          (
          <issue>5</issue>
          ):
          <fpage>795</fpage>
          -
          <lpage>800</lpage>
          . DOI:
          <volume>10</volume>
          .18287/
          <fpage>0134</fpage>
          -2452-2015-39-5-
          <fpage>795</fpage>
          -800.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Yakimov</surname>
            <given-names>PY</given-names>
          </string-name>
          .
          <article-title>Preprocessing of digital images in systems of location and recognition of road signs</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2013</year>
          ;
          <volume>37</volume>
          (
          <issue>3</issue>
          ):
          <fpage>401</fpage>
          -
          <lpage>405</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Yakimov</surname>
            <given-names>PY</given-names>
          </string-name>
          .
          <article-title>Localization of objects contours with different scales in images using Hough Transform</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2013</year>
          ;
          <volume>37</volume>
          (
          <issue>4</issue>
          ):
          <fpage>496</fpage>
          -
          <lpage>502</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mathias</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Timofte</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benenson</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gool</surname>
            <given-names>LV</given-names>
          </string-name>
          .
          <article-title>Traffic sign recognition - how far are we from the solution?</article-title>
          <source>Proceedings of IEEE International Joint Conference on Neural Networks</source>
          ,
          <year>2013</year>
          :
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>