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.
1. 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.
2. 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.
3. Sledevic T., Serackis A. SURF algorithm implementation on FPGA // 13th Biennial Baltic Electronics Conf. – Tallinn, 2012. – P. 291–294.
4. Chang L., Sucar L.E. FPGA-based detection of SIFT interest keypoints // Mach. Vis. Appl. – 2013. – No. 24. – P. 371–392.
5. 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).
6. 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).
7. Хайкин С. Нейронные сети: полный курс. – 2 изд. – М.: Изд. дом «Вильямс», 2006. – 1104 с.
8. Демьянкович Ю.К., Ходаковский В.А. Введение в теорию вейвлетов: курс лекций. – 2007. – С. 49. – URL: http://www.math.spbu.ru/parallel/pdf/dh_theory.pdf (дата обращения: 22.01.2018).
9. 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).
10. 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).