Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Conal Elliott and Paul Hudak. Functional reactive animation. In International Conference on Functional Programming, pages 163–173, June 1997.
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.
P. Henderson. Functional programming, formal spepcification, and rapid prototyping. IEEE Transactions on SW Engineering, SE-12(2):241–250, 1986.
P. Hudak. Building domain specific embedded languages. ACM Computing Surveys, 28A:(electronic), December 1996.
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.
J. Hughes. Why functional programming matters. Technical Report 16, Programming Methodology Group, Chalmers University of Technology, November 1984.
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.
J.L. Mundy. The image understanding environment program. IEEE EXPERT, 10(6):64–73, December 1995.
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.
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.
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.
The Khoros Group. The Khoros Users Manual. The University of New Mexico, Albuquerque, NM, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Peterson, J., Hudak, P., Reid, A., Hager, G. (2001). FVision: A Declarative Language for Visual Tracking. In: Ramakrishnan, I.V. (eds) Practical Aspects of Declarative Languages. PADL 2001. Lecture Notes in Computer Science, vol 1990. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45241-9_21
Download citation
DOI: https://doi.org/10.1007/3-540-45241-9_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41768-2
Online ISBN: 978-3-540-45241-6
eBook Packages: Springer Book Archive