Journal of Real-Time Image Processing

, Volume 12, Issue 4, pp 635–647 | Cite as

High-level dataflow programming for real-time image processing on smart cameras

  • Jocelyn Sérot
  • François Berry
  • Cédric Bourrasset
Special Issue Paper

Abstract

We describe the application of the caph programming language to the implementation of complex real-time image processing application on a FPGA embedded in a smart camera architecture. caph is based upon the dataflow model of computation. Applications are described as networks of purely dataflow actors exchanging tokens through unidirectional channels and the behavior of each actor is defined as a set of transition rules using pattern matching. We show that this model is naturally suited to the description of applications operating on the fly on digital video streams and supports a fully automated compilation path producing efficient VHDL code. This is demonstrated on an application performing the extraction of HOG (histogram of oriented gradient) feature vectors in real time on the dreamcam smart camera, an experimental platform developed at our institute.

Keywords

FPGA Dataflow DSL Real-time image processing HOG 

References

  1. 1.
    Ahmed, S.: Application of a Dataflow Programming Language to the High Level Synthesis of Real-Time Vision Systems on Reconfigurable Hardware. PhD thesis, Université Blaise Pascal-Clermont-Ferrand II, (2013)Google Scholar
  2. 2.
    Bauer, S., Kohler, S., Doll, K., Brunsmann, U.: Fpga-gpu architecture for kernel svm pedestrian detection. In: 2010 IEEE Computer Society Conference on, Computer Vision and Pattern Recognition Workshops (CVPRW), pp. 61–68 (2010)Google Scholar
  3. 3.
    Birem, M., Berry, F.: DreamCam: a modular FPGA-based smart camera architecture. J. Syst. Archit. 60(6), 519–527 (2014). doi: 10.1016/j.sysarc.2014.01.006
  4. 4.
    Sérot, J.: The caph software and reference manual. http://caph.univ-bpclermont.fr
  5. 5.
    Cao, P., Deng, G.: Real-time vision- based stop sign detection system on FPGA. In: International Conference on Digital Image Computing: Techniques and Applications (DICTA), IEEE Computer Society, pp. 465–471 (2008)Google Scholar
  6. 6.
    Dalal, N., Triggs, B.: Histograms of oriented gradients for human detection. In: Schmid, C., Soatto, S., Tomasi, C. (eds) International Conference on Computer Vision and Pattern Recognition, vol. 2, pp. 886–893. June (2005)Google Scholar
  7. 7.
    Dahlin, A., Ersfolk, J., Yang, G., Habli, H., Lilius, J.: The Canals language and its compiler. In: Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems, SCOPES ’09, ACM, pp. 43–52. New York, NY, USA (2009)Google Scholar
  8. 8.
    Dollr, P., Wojek, C., Schiele, B., Perona, P.: Pedestrian detection: A benchmark. In: IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), (2009)Google Scholar
  9. 9.
    Enzweiler, M., Gavrila, D.M.: Monocular Pedestrian Detection: Survey and Experiments. In: IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), (2008)Google Scholar
  10. 10.
    Frigo, J., Gokhale, M., Lavenier, D.: Evaluation of the streams-C C-to-FPGA compiler: an applications perspective. In: Proceedings of the 2001 ACM/SIGDA ninth international symposium on Field programmable gate arrays, FPGA ’01, pp. 134–140. ACM, New York, NY (2001). doi: 10.1145/360276.360326
  11. 11.
    Gupta, S., Dutt, N., Gupta, R., Nicolau, A.: Spark A high-level synthesis framework for applying parallelizing compiler transformations. In: International Conference on VLSI Design, pp. 461–466 (2003)Google Scholar
  12. 12.
    Kadota, R., Sugano, H., Hiromoto, M., Ochi, H., Miyamoto, R., Nakamura, Y.: Hardware architecture for hog feature extraction. In: Proceedings of the 2009 Fifth International Conference on Intelligent Information Hiding and Multimedia Signal Processing, IEEE Computer Society, pp. 1330–1333. Washington, DC, USA (2009)Google Scholar
  13. 13.
    Lucarz, C., Mattavelli, M., Wipliez, M., Roquier, G., Raulet, M., Janneck, J., Miller, I., Parlour, D.: Dataflow/Actor-Oriented language for the design of complex signal processing systems. In: Proceedings of the 2008 Conference on Design and Architectures for Signal and Image Processing, DASIP 2008, pp. 168–175 (2008)Google Scholar
  14. 14.
    Najjar, W.A., Lee, E.A., Gao, G.R.: Advances in the dataflow computational model. Parallel Comput. 25(13–14), 1907–1929 (1999)CrossRefGoogle Scholar
  15. 15.
    Najjar, W.A., Boehm, W., Draper, B.A., Hammes, J., Rinker, R., Beveridge, J.R., Chawathe, M., Ross, C.: High-level language abstraction for reconfigurable computing. Computer 36, 63–69 (2003)CrossRefGoogle Scholar
  16. 16.
    Sérot, J.: The semantics of a purely functional graph notation system. In: Achten, P., Koopman, P.W.M., Morazán, M.T. (eds.) Draft Proceedings of the Ninth Symposium on Trends in Functional Programming, TFP 2008, May 26–28. Nijmegen, The Netherlands (2008)Google Scholar
  17. 17.
    Sérot, J., Berry, F., Ahmed, S.: Implementing stream-processing applications on fpgas: a dsl-based approach. In: Proceedings of the 2011 21st International Conference on Field Programmable Logic and Applications, FPL ’11, IEEE Computer Society, pp. 130–137. Washington, DC, USA (2011)Google Scholar
  18. 18.
    Sérot, J., Berry, F., Ahmed, S.: CAPH: a language for implementing stream-processing applications on FPGAs. In: Athanas, P. (ed.) Embedded Systems Design with FPGAs. Springer, New York (2013)Google Scholar
  19. 19.
    Zhu, Q., Yeh, M.-C., Cheng, K.-T., Avidan, S.: Fast human detection using a cascade of histograms of oriented gradients. In: Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, IEEE Computer Society, vol 2, pp. 1491–1498. Washington, DC, USA (2006)Google Scholar
  20. 20.
  21. 21.
    Impulse accelerated technologies. http://www.impulsec.com

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Jocelyn Sérot
    • 1
  • François Berry
    • 1
  • Cédric Bourrasset
    • 1
  1. 1.Institut PascalUniversité Blaise Pascal/CNRSClermont-FerrandFrance

Personalised recommendations