<?xml version="1.0" encoding="UTF-8"?>
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" article-type="research-article" dtd-version="1.2" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="issn">1561-5405</journal-id>
	    <journal-id journal-id-type="doi">10.24151/1561-5405</journal-id>	  
      <journal-id journal-id-type="publisher-id">Proceedings of Universities. Electronics</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">Scientifical and technical journal "Proceedings of Universities. Electronics"</journal-title>
        <trans-title-group xml:lang="ru">
          <trans-title>Научно-технический журнал «Известия высших учебных заведений. Электроника»</trans-title>
        </trans-title-group>        
      </journal-title-group>      
      <issn publication-format="print">1561-5405</issn>
      <issn publication-format="online">2587-9960</issn>
      <publisher>
        <publisher-name xml:lang="en">National Research University of Electronic Technology</publisher-name>
        <publisher-name xml:lang="ru">Национальный исследовательский университет "Московский институт электронной техники"</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>                                    
      
    <article-id pub-id-type="doi">10.24151/1561-5405-2018-23-5-502-511</article-id><article-id pub-id-type="udk">[004.021:004.042]:004.9</article-id><article-categories><subj-group><subject>Информационно-коммуникационные технологии</subject></subj-group></article-categories><title-group><article-title xml:lang="en">Streaming Hardware Based Implementation of SURF Algorithm</article-title><trans-title-group xml:lang="ru"><trans-title>Поточная аппаратная реализация алгоритма SURF</trans-title></trans-title-group></title-group><fpage>502</fpage><lpage>511</lpage><self-uri>http://ivuz-e.ru/en/issues/5-_2018/potochnaya_apparatnaya_realizatsiya_algoritma_surf/</self-uri><self-uri content-type="pdf">http://ivuz-e.ru/en/download/5_2018_2267_en.pdf</self-uri><abstract xml:lang="en"><p>For allocation and tracking of objects in the image the method based on the algorithms of singular points is applied. This approach is often used in the modules of video data initial processing for background stabilization. The hardware implementation of Speeded Up Robust Features (SURF) algorithm has been proposed. The streaming approach to the implementation of the SURF algorithm, permitting to speed up the data processing, has been realized. The application of such approach solves the main problem of using memory simultaneously by several modules. A general scheme of the SURF algorithm, enabling to allocate singular points on the image and to create their description, has been presented. It has been proposed to use a hardware accelerator for detection and description of singular points of the image, as all problems have to be solved at high speeds. All modules and hardware implementation of the interest point detection, including the integral image modules of calculating the second derivatives, of the Hessian calculation, the local maximum modules and the module for computing the descriptor have been developed and described. The developed algorithm has been tested. The experimental results have been shown that the implementation of the SURF algorithm based on a streaming approach enables to increase the processing speed up to 100 frames per second.</p></abstract><trans-abstract xml:lang="ru"><p>Для выделения и сопровождения объектов на изображении применяется метод, основанный на алгоритмах выделения особых точек. Данный метод часто используется в модулях первичной обработки видеоданных для стабилизации фона. В работе предложена аппаратная реализация алгоритма Speeded Up Robust Features &amp;#40;SURF&amp;#41;. Рассмотрен потоковый подход к реализации алгоритма SURF, позволяющий значительно ускорить обработку данных. Показано, что применение такого подхода решает основную проблему использования памяти несколькими модулями одновременно. Представлена общая схема алгоритма SURF, который позволяет выделить особые точки на изображении и создать их описание. Предложено использовать аппаратный ускоритель для поиска и описания особенных точек изображения, так как все указанные задачи требуется решать на высоких скоростях. Разработаны и описаны все модули аппаратной реализации процесса поиска ключевых точек, включая модули интегрального изображения, подсчета вторых производных, расчета гессиана, локального максимума, вычисления дескриптора. Проведено тестирование разработанного алгоритма. Результаты эксперимента показали, что реализация алгоритма SURF на основе потокового подхода позволяет повысить скорость обработки кадра до 100 кадров/с.</p></trans-abstract><kwd-group xml:lang="ru"><kwd/></kwd-group><funding-group/></article-meta>
  </front>
  <body/>
  <back>
    <ref-list><ref id="B1"><label>1.</label><mixed-citation xml:lang="ru">Bay H., Essa A., Tuytelaars T., Van Gool L. Speeded-Up Robust Features (SURF) // Comput. Vis. Image Underst. – 2008. – Vol. 110. – No. 3. – P. 346–359.</mixed-citation></ref><ref id="B2"><label>2.</label><mixed-citation xml:lang="ru">Svab J., Faigl J., Krajník T. FPGA based speeded up robust features // IEEE Intern. Conf. on Technologies for Practical Robot Applications. – 2009. – P. 35–41.</mixed-citation></ref><ref id="B3"><label>3.</label><mixed-citation xml:lang="ru">Sledevic T., Serackis A. SURF algorithm implementation on FPGA // 13th Biennial Baltic Electronics Conf. – Tallinn, 2012. – P. 291–294.</mixed-citation></ref><ref id="B4"><label>4.</label><mixed-citation xml:lang="ru">Chang L., Sucar L.E. FPGA-based detection of SIFT interest keypoints // Mach. Vis. Appl. – 2013. – No. 24. – P. 371–392.</mixed-citation></ref><ref id="B5"><label>5.</label><mixed-citation xml:lang="ru">Vivado Design Suite User Guide. High-Level Synthesis. UG902 (v2016.2). – 2016. – P. 672. – URL: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_2/ug902-vivado-high-level-synthesis.pdf (дата обращения: 22.01.2018).</mixed-citation></ref><ref id="B6"><label>6.</label><mixed-citation xml:lang="ru">Vivado Design Suite User Guide. Getting Started. UG910(v2016.4). – 2016. – P. 24. – URL: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_4/ug910-vivado-getting-started.pdf (дата обращения: 22.01.2018).</mixed-citation></ref><ref id="B7"><label>7.</label><mixed-citation xml:lang="ru">Хайкин С. Нейронные сети: полный курс. – 2 изд. – М.: Изд. дом «Вильямс», 2006. – 1104 с.</mixed-citation></ref><ref id="B8"><label>8.</label><mixed-citation xml:lang="ru">Демьянкович Ю.К., Ходаковский В.А. Введение в теорию вейвлетов: курс лекций. – 2007. – С. 49. – URL: http://www.math.spbu.ru/parallel/pdf/dh_theory.pdf (дата обращения: 22.01.2018).</mixed-citation></ref><ref id="B9"><label>9.</label><mixed-citation xml:lang="ru">Vivado Design Suite. AXI Reference. UG1037 (v4.0). – 2017. – P. 175. – URL: https://www.xilinx.com/support/documentation/ip_documentation/axi_ref_guide/latest/ug1037-vivado-axi-reference-guide.pdf (дата обращения: 22.01.2018).</mixed-citation></ref><ref id="B10"><label>10.</label><mixed-citation xml:lang="ru">An FPGA implementation of the SURF algorithm for the ExoMars programme / G. Lentaris, I. Stamoulias, D. Diamantopoulos et al. // Workshop on Reconfigurable Computing (WRC). – Germany, Berlin, 2013. – URL: https://www.researchgate.net/publication/255926863_An_FPGA_implementation_of_the_SURF_algorithm_for_the_ExoMars_programme (дата обращения: 04.10.2018).</mixed-citation></ref></ref-list>    
  </back>
</article>
