Skip to main content
Log in

FPGA-based module for SURF extraction

  • Original Paper
  • Published:
Machine Vision and Applications Aims and scope Submit manuscript

Abstract

We present a complete hardware and software solution of an FPGA-based computer vision embedded module capable of carrying out SURF image features extraction algorithm. Aside from image analysis, the module embeds a Linux distribution that allows to run programs specifically tailored for particular applications. The module is based on a Virtex-5 FXT FPGA which features powerful configurable logic and an embedded PowerPC processor. We describe the module hardware as well as the custom FPGA image processing cores that implement the algorithm’s most computationally expensive process, the interest point detection. The module’s overall performance is evaluated and compared to CPU and GPU-based solutions. Results show that the embedded module achieves comparable distinctiveness to the SURF software implementation running in a standard CPU while being faster and consuming significantly less power and space. Thus, it allows to use the SURF algorithm in applications with power and spatial constraints, such as autonomous navigation of small mobile robots.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. Considering around 140 descriptors per image.

  2. For profiling, we used a NT330-i with Intel Atom 330 1.6 GHz, 1 GB RAM and nVidia ION graphics card

  3. Actually it may have more sinks—the SPB is multi-slave.

  4. Currently, the image width is limited to 1,024 pixels. The BRAM usage is essentially given by the maximal box filter dimension, since all the needed image lines must be in the buffer for this calculation. Hence, if the design would be ported to a bigger FPGA with say twice the BRAM resources, the image width could be also roughly doubled.

  5. their number is set by an PDMAB IP core parameter

References

  1. Agrawal, M., Konolige, K., Blas, M.: CenSurE: Center surround extremas for realtime feature detection and matching. In: European Conference on Computer Vision (2008)

  2. Aubepart, F., El Farji, M., Franceschini, N.: FPGA implementation of elementary motion detectors for the visual guidance of micro-air-vehicles. In: IEEE International Symposium on Industrial Electronics (2004)

  3. Battezzati, N., Colazzo, S., Maffione, M., Senepa, L.: SURF Algorithm in FPGA: a novel architecture for high demanding industrial applications. In: Design, Automation and Test in Europe Conference and Exhibition (2012)

  4. Bauer, J., Sünderhauf, N., Protzel, P.: Comparing several implementations of two recently published feature detectors. In: International Conference on Intelligent and Autonomous Systems (2007)

  5. Bay, H., Ess, A., Tuytelaars, T., van Gool, L.: Speeded-up robust features (SURF). Comput. Vis. Image Underst. 110(3), 346–359 (2008)

    Article  Google Scholar 

  6. Bonato, V., Marques, E., Constantinides, G.A.: A parallel hardware architecture for scale and rotation invariant feature detection. IEEE Trans. Circuits Syst. Video Technol. 18(12), 1703–1712 (2008). doi:10.1109/TCSVT.2008.2004936

    Google Scholar 

  7. Bouris, D., Nikitakis, A., Papaefstathiou, I.: Fast and efficient FPGA-based feature detection employing the SURF algorithm. In: IEEE International Symposium on Field-Programmable Custom Computing Machines (2010)

  8. Chandrasekhar, V., et al.: Mobile visual search. IEEE Signal Process. Mag. (2011). doi:10.1109/MSP.2011.940881

  9. Chang, L., Hernandez-Palancar, J., Sucar, L., Arias-Estrada, M.: FPGA-based detection of SIFT interest keypoints. Mach. Vis. Appl. 24(2), 371–392 (2013). doi:10.1007/s00138-012-0430-8

    Google Scholar 

  10. Cornelis, N., van Gool, L.: Fast scale invariant feature detection and matching on programmable graphics hardware. In: IEEE International Conference on Computer Vision and Pattern Recognition (2008)

  11. Davison, A.J., Reid, I.D., Molton, N.D., Stasse, O.: MonoSLAM: real-time single camera SLAM. IEEE Trans. Pattern Anal. Mach. Intell. 29(6), 1052–1067 (2007). doi:10.1109/TPAMI.2007.1049

  12. Grabner, M., Grabner, H., Bischof, H.: Fast approximated SIFT. In: Proceedings of the 7th Asian conference of computer vision, pp. 918–927 (2006)

  13. Harris, C., Stephens, M.: A combined corner and edge detector. In: Proceedings of the 4th Alvey Vision Conference, pp. 147–151 (1988)

  14. Huang, F.C., Huang, S.Y., Ker, J.W., Chen, Y.C.: High-performance SIFT hardware accelerator for real-time image feature extraction. IEEE Trans. Circuits Syst. Video Technol. 22(3), 340–351 (2012). doi:10.1109/TCSVT.2011.2162760

    Google Scholar 

  15. Jorg, S., Langwald, J., Nickl, M.: FPGA based real-time visual servoing. In: Proceedings of the 17th International Conference on Pattern Recognition, vol. 1, pp. 749–752 (2004). doi:10.1109/ICPR.2004.1334300

  16. Ke, Y., Sukthankar, R.: PCA-SIFT: a more distinctive representation for local image descriptors. In: IEEE Conference on Computer Vision and Pattern Recognition (2004). doi:10.1109/CVPR.2004.1315206

  17. Krajník, T., Faigl, J., Vonásek, V., Košnar, K., Kulich, M., Přeučil, L.: Simple yet stable bearing-only navigation. J. Field Robot. 27, 511–533 (2010). doi:10.1002/rob.20354

    Google Scholar 

  18. Li, J., Allinson, N.: A comprehensive review of current local features for computer vision. Neurocomputing 71 (2008). doi:10.1016/j.neucom.2007.11.032

  19. Loncomilla, P., del Solar, J.R.: Improving SIFT-based object recognition for robot applications. Image Anal. Process. 1084–1092 (2005). doi:10.1007/11553595_133

  20. Mikolajczyk, K., Schmid, C.: Scale and affine invariant interest point detectors. 60(1), 63–86 (2004). doi:10.1023/B:VISI.0000027790.02288.f2

  21. Mikolajczyk, K., Schmid, C.: Scale and affine invariant interest point detectors. Int. J. Comput. Vis. 60(1), 63–86 (2004). doi:10.1023/B:VISI.0000027790.02288.f2

    Google Scholar 

  22. Mikolajczyk, K., Schmid, C.: A performance evaluation of local descriptors. IEEE Trans. Pattern Anal. Mach. Intell. 27(10), 1615–1630 (2005). http://lear.inrialpes.fr/pubs/2005/MS05

    Google Scholar 

  23. Moravec, H.: Obstacle avoidance and navigation in the real world by a seeing robot rover. Ph.D. thesis, Robotics Institute, Carnegie Mellon University, Stanford

  24. Mouragnon, E., Lhuillier, M., Dhome, M., Dekeyser, F., Sayd, P.: Real time localization and 3D reconstruction. In: IEEE Conference on Computer Vision and Pattern Recognition (2006)

  25. Murray, D., Little, J.J.: Using real-time stereo vision for mobile robot navigation. Auton. Robots (2000). doi:10.1023/A:1008987612352

  26. Price, A., Pyke, J., Ashiri, D., Cornall, T.: Real time object detection for an unmanned aerial vehicle using an FPGA based vision system. In: IEEE International Conference on Robotics and Automation (2006)

  27. Sarfraz, A.S., Hellwich, O.: Head pose estimation in face recognition across pose scenarios. In: International Conference on Computer Vision Theory and Applications (2008)

  28. Schaeferling, M., Kiefer, G.: Flex-SURF: A flexible architecture for FPGA-based robust feature extraction for optical tracking systems. In: International Conference on Reconfigurable Computing and FPGAs (2010)

  29. Schaeferling, M., Kiefer, G.: Object recognition on a chip: A complete SURF-based system on a single FPGA. In: International Conference on Reconfigurable Computing and FPGAs (2011)

  30. Schaeferling, M., Kiefer, G.: Object recognition on a chip: a complete SURF-based system on a single FPGA. In: International Conference on Reconfigurable Computing and FPGAs (2011)

  31. Se, S., Lowe, D., Little, J.: Vision-based mobile robot localization and mapping using scale-invariant features. In: IEEE International Conference on Robotics and Automation (2001)

  32. Se, S., et al.: Vision based modeling and localization for planetary exploration rovers. In: International Astronautical Congress (2004)

  33. Šváb, J., Krajník, T., Faigl, J., Přeučil, L.: FPGA-based speeded up robust features. In: IEEE International Conference on Technologies for Practical Robot Applications (2009)

  34. Thorpe, C., Hebert, M., Kanade, T., Shafer, S.: Vision and navigation for the Carnegie-Mellon Navlab. IEEE Trans. Pattern Anal. Mach. Int. (1988)

  35. Tippetts, B., Lee, D.J., Archibald, J.: An on-board vision sensor system for small unmanned vehicle applications. Mach. Vis. Appl. (2012)

  36. Tippetts, B., et al.: FPGA implementation of a feature detection and tracking algorithm for real-time applications. In: International Conference on Advances in Visual Computing (2007)

  37. Williams, J., Dawood, A., Visser, S.: FPGA-based cloud detection for real-time onboard remote sensing. In: IEEE International Conference on Field-Programmable Technology (2002). doi:10.1109/FPT.2002.1188671

  38. Wu, C.: SiftGPU: a GPU implementation of scale invariant feature transform (SIFT). http://cs.unc.edu/ccwu/siftgpu

  39. Yao, L., Feng, H., Zhu, Y., Jiang, Z., Zhao, D., Feng, W.: An architecture of optimised SIFT feature detection for an FPGA implementation of an image matcher. International Conference on Field-Programmable Technology, pp. 30–37 (2009). doi:10.1109/FPT.2009.5377651

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tomáš Krajník.

Additional information

The EU supported this work by FP7 programme projects ICT-600623 ‘STRANDS’ and ICT-216240 ‘REPLICATOR’. The Czech Ministry of Education funded the work by projects 7AMB12AR022 and 7E08006 and Argentinean Ministry of Science supported this work by project ARC/11/11.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Krajník, T., Šváb, J., Pedre, S. et al. FPGA-based module for SURF extraction. Machine Vision and Applications 25, 787–800 (2014). https://doi.org/10.1007/s00138-014-0599-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00138-014-0599-0

Keywords

Navigation