FVision: A Declarative Language for Visual Tracking

  • John Peterson
  • Paul Hudak
  • Alastair Reid
  • Greg Hager
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1990)


Functional programming languages are not generally associated with computationally intensive tasks such as computer vision. We show that a declarative programming language like Haskell is effective for describing complex visual tracking systems. We have taken an existing C++ library for computer vision, called XVision, and used it to build FVision (pronounced “fission”), a library of Haskell types and functions that provides a high-level interface to the lower-level XVision code. Using functional abstractions, users of FVision can build and test new visual tracking systems rapidly and reliably. The use of Haskell does not degrade system performance: computations are dominated by low-level calculations expressed in C++ while the Haskell “glue code” has a negligible impact on performance.

FVision is built using functional reactive programming (FRP) to express interaction in a purely functional manner. The resulting system demonstrates the viability of mixed-language programming: visual tracking programs continue to spend most of their time executing low-level image-processing code, while Haskell’s advanced features allow us to develop and test systems quickly and with confidence. In this paper, we demonstrate the use of Haskell and FRP to express many basic abstractions of visual tracking.


Reference Image Video Stream Visual Tracking Video Source Edge Tracker 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Conal Elliott and Paul Hudak. Functional reactive animation. In International Conference on Functional Programming, pages 163–173, June 1997.Google Scholar
  2. [2]
    G. D. Hager and P. N. Belhumeur. Eficient region tracking of with parametric models of illumination and geometry. To appear in IEEE PAMI., October 1998.Google Scholar
  3. [3]
    P. Henderson. Functional programming, formal spepcification, and rapid prototyping. IEEE Transactions on SW Engineering, SE-12(2):241–250, 1986.Google Scholar
  4. [4]
    P. Hudak. Building domain specific embedded languages. ACM Computing Surveys, 28A:(electronic), December 1996.Google Scholar
  5. [5]
    Paul Hudak. Modular domain specific languages and tools. In Proceedings of Fifth International Conference on Software Reuse, pages 134–142. IEEE Computer Society, June 1998.Google Scholar
  6. [6]
    J. Hughes. Why functional programming matters. Technical Report 16, Programming Methodology Group, Chalmers University of Technology, November 1984.Google Scholar
  7. [8]
    R.E. Kahn, M.J. Swain, P.N. Prokopowicz, and R.J. Firby. Gesture recognition using Perseus architecture. In Proc. IEEE Conf. Comp. Vision and Patt. Recog., pages 734–741, 1996.Google Scholar
  8. [9]
    J.L. Mundy. The image understanding environment program. IEEE EXPERT, 10(6):64–73, December 1995.CrossRefGoogle Scholar
  9. [10]
    J. Peterson, P. Hudak, and C. Elliott. Lambda in motion: Controlling robots with haskell. In Proceedings of PADL 99: Practical Aspects of Declarative Languages, pages 91–105, Jan 1999.Google Scholar
  10. [11]
    A. Reid, J. Peterson, P. Hudak, and G. Hager. Prototyping real-time vision systems. In Proceedings of ICSE 99: Intl. Conf. on Software Engineering, May 1999.Google Scholar
  11. [12]
    C. Consel S. Thibault, R. Marlet. A domain-specific language for video device drivers: From design to implementation. In Proceedings of the first conference on Domain-Specific Languages, pages 11–26. USENIX, October 1997.Google Scholar
  12. [13]
    The Khoros Group. The Khoros Users Manual. The University of New Mexico, Albuquerque, NM, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • John Peterson
    • 1
  • Paul Hudak
    • 1
  • Alastair Reid
    • 2
  • Greg Hager
    • 3
  1. 1.Yale UniversityUSA
  2. 2.University of UtahUtah
  3. 3.The Johns Hopkins UniversityUSA

Personalised recommendations