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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
Considering around 140 descriptors per image.
For profiling, we used a NT330-i with Intel Atom 330 1.6 GHz, 1 GB RAM and nVidia ION graphics card
Actually it may have more sinks—the SPB is multi-slave.
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.
their number is set by an PDMAB IP core parameter
References
Agrawal, M., Konolige, K., Blas, M.: CenSurE: Center surround extremas for realtime feature detection and matching. In: European Conference on Computer Vision (2008)
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)
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)
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)
Bay, H., Ess, A., Tuytelaars, T., van Gool, L.: Speeded-up robust features (SURF). Comput. Vis. Image Underst. 110(3), 346–359 (2008)
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
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)
Chandrasekhar, V., et al.: Mobile visual search. IEEE Signal Process. Mag. (2011). doi:10.1109/MSP.2011.940881
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
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)
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
Grabner, M., Grabner, H., Bischof, H.: Fast approximated SIFT. In: Proceedings of the 7th Asian conference of computer vision, pp. 918–927 (2006)
Harris, C., Stephens, M.: A combined corner and edge detector. In: Proceedings of the 4th Alvey Vision Conference, pp. 147–151 (1988)
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
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
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
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
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
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
Mikolajczyk, K., Schmid, C.: Scale and affine invariant interest point detectors. 60(1), 63–86 (2004). doi:10.1023/B:VISI.0000027790.02288.f2
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
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
Moravec, H.: Obstacle avoidance and navigation in the real world by a seeing robot rover. Ph.D. thesis, Robotics Institute, Carnegie Mellon University, Stanford
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)
Murray, D., Little, J.J.: Using real-time stereo vision for mobile robot navigation. Auton. Robots (2000). doi:10.1023/A:1008987612352
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)
Sarfraz, A.S., Hellwich, O.: Head pose estimation in face recognition across pose scenarios. In: International Conference on Computer Vision Theory and Applications (2008)
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)
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)
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)
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)
Se, S., et al.: Vision based modeling and localization for planetary exploration rovers. In: International Astronautical Congress (2004)
Š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)
Thorpe, C., Hebert, M., Kanade, T., Shafer, S.: Vision and navigation for the Carnegie-Mellon Navlab. IEEE Trans. Pattern Anal. Mach. Int. (1988)
Tippetts, B., Lee, D.J., Archibald, J.: An on-board vision sensor system for small unmanned vehicle applications. Mach. Vis. Appl. (2012)
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)
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
Wu, C.: SiftGPU: a GPU implementation of scale invariant feature transform (SIFT). http://cs.unc.edu/ccwu/siftgpu
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
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00138-014-0599-0