Skip to main content
Log in

Algorithmic methodologies for FPGA-based vision

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

Abstract

This paper proposes a strategy for the design of computer vision on Field Programmable Gate Arrays (FPGAs). We show that there are certain advantages to the approach of designing an algorithm to specifically suit hardware rather than attempting to replicate the behavior of software implementations in hardware. We justify this approach through the analysis of two case studies. In the first case study, we present FPGA implementations of two corner detectors. We make a number of observations which point to the advantages of an FPGA-tailored algorithm. In the second case study, we investigate the feasibility of this approach by designing a proof-of-concept face detection algorithm that was designed specifically for an FPGA. We show that this design allows for high detection speed on a low-cost FPGA device, although the same algorithm would not be considered in software. Finally, we conclude that FPGAs offer special opportunities for specialized algorithms that are infeasible in software.

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

Similar content being viewed by others

References

  1. Altera FPGAs. http://www.altera.com/devices/fpga/fpga-index.html

  2. Altera HardCopy IV ASICs. http://www.altera.com/devices/asic/hardcopy-asics/hardcopy-iv/hciv-index.jsp

  3. Altera Nios II C2H Compiler. http://www.altera.com/devices/processor/nios2/tools/c2h/ni2-c2h.html

  4. Caltech Frontal Face Dataset. http://www.vision.caltech.edu/html-files/archive.html

  5. CBCL Face Database \(\#1\). http://cbcl.mit.edu/projects/cbcl

  6. Handel-C. http://www.mentor.com/products/fpga/handel-c/

  7. Terasic DE2-115. http://de2-115.terasic.com/

  8. Terasic TRDB-D5M 5 Megapixel Camera. http://d5m.terasic.com

  9. Xilinx Virtex-5 Documentation. http://www.xilinx.com/support/documentation/virtex-5.htm

  10. Altera: RAM-based shift register megafunction user guide. www.altera.com/literature/ug/ug_shift_register_ram_based.pdf

  11. Bailey, D.: Adapting algorithms for hardware implementation. In: 7th IEEE Workshop on Embedded Computer Vision, pp. 177–184 (2011)

  12. 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 

  13. Benedetti, A., Perona, P.: Real-time 2-d feature detection on a reconfigurable computer. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Proceedings. pp. 586–593 (1998). doi:10.1109/CVPR.1998.698665

  14. Brand, J., Mason, J.: A comparative assessment of three approaches to pixel-level human skin-detection. In: 15th International Conference on Pattern Recognition, Proceedings. vol. 1, pp. 1056–1059 (2000)

  15. Calonder, M., Lepetit, V., Strecha, C., Fua, P.: Brief: binary robust independent elementary features. In: European Conference on Computer Vision. Heraklion (2010)

  16. Che, S., Li, J., Sheaffer, J.W., Skadron, K., Lach, J.: Accelerating compute-intensive applications with gpus and fpgas. In: Proceedings of the 2008 Symposium on Application Specific Processors, SASP ’08, pp. 101–107. IEEE Computer Society, Washington, DC (2008). doi:10.1109/SASP.2008.4570793

  17. Cho, J., Mirzaei, S., Oberg, J., Kastner, R.: FPGA-based face detection system using Haar classifiers. In: FPGA ’09: Proceeding of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp. 103–112. New York (2009)

  18. Gribbon, K., Bailey, D., Bainbridge-Smith, A.: Development issues in using FPGAs for image processing. In: Image and Vision Computing New Zealand, pp. 282–287 (2007)

  19. Gribbon, K., Johnson, C., Bailey, D.: Formalizing design patterns for image processing algorithm development on FPGAs. In: Proceedings of the Third IEEE International Workshop on Electronic Design, Test, and Applications, pp. 47–53 (2006)

  20. Harris, C., Stephens, M.: A combined corner and edge detection. In: Proceedings of The Fourth Alvey Vision Conference, pp. 147–151 (1988)

  21. Kim, J., Hwangbo, M., Kanade, T.: Parallel algorithms to a parallel hardware: Designing vision algorithms for a gpu. In: Workshop on Embedded Computer Vision (ECV), 2009 (held in conjunction with ICCV) (2009)

  22. Kraft, M., Schmidt, A., Kasinski, A.J.: High-speed image feature detection using fpga implementation of fast algorithm. In: Proceedings of the VISAPP (2008)

  23. MacLean, W.J.: An evaluation of the suitability of FPGAs for embedded vision systems. In: 1st IEEE Workshop on Embedded Computer Vision (2005)

  24. Quinlan, J.R.: Induction of decision trees. Mach. Learn. 1(1), 81–106 (1986)

    Google Scholar 

  25. Rosten, E., Drummond, T.: Machine learning for high-speed corner detection. In: European Conference on Computer Vision, vol. 1, pp. 430–443 (2006)

  26. Rosten, E., Porter, R., Drummond, T.: Faster and better: A machine learning approach to corner detection. IEEE Trans. Pattern Anal. Mach. Intell. 32, 105–119 (2010)

    Article  Google Scholar 

  27. Rublee, E., Rabaud, V., Konolige, K., Bradski, G.: Orb: An efficient alternative to sift or surf. In: International Conference on Computer Vision. Barcelona (2011)

  28. Shi, J., Tomasi, C.: Good features to track. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1994. Proceedings CVPR ’94, pp. 593–600 (1994). doi:10.1109/CVPR.1994.323794

  29. Sung, K.K., Poggio, T.: Example based learning for view-based human face detection. IEEE Trans. Pattern Anal. Mach. Intell. 20, 39–51 (1995)

    Google Scholar 

  30. Viola, P., Jones, M.J.: Robust real-time face detection. Int. J. Comput. Vis. 57, 137–154 (2004)

    Article  Google Scholar 

  31. Yang, M., Crenshaw, J., Augustine, B., Mareachen, R., Wu, Y.: Adaboost-based face detection for embedded systems. Comput. Vis. Image Underst. 114(11), 1116–1125 (2010)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yoong Kang Lim.

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lim, Y.K., Kleeman, L. & Drummond, T. Algorithmic methodologies for FPGA-based vision. Machine Vision and Applications 24, 1197–1211 (2013). https://doi.org/10.1007/s00138-012-0474-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00138-012-0474-9

Keywords

Navigation