Functional programming, formal specification, and rapid prototyping
IEEE Transactions on Software Engineering
Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Efficient Region Tracking With Parametric Models of Geometry and Illumination
IEEE Transactions on Pattern Analysis and Machine Intelligence
Prototyping real-time vision systems: an experiment in DSL design
Proceedings of the 21st international conference on Software engineering
The Image Understanding Environment Program
IEEE Expert: Intelligent Systems and Their Applications
Lambda in Motion: Controlling Robots with Haskell
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
Gesture recognition using the Perseus architecture
CVPR '96 Proceedings of the 1996 Conference on Computer Vision and Pattern Recognition (CVPR '96)
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A domain specific language for video device drivers: from design to implementation
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Determining actual response time in P-FRP
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Proceedings of the 2012 ACM Research in Applied Computation Symposium
Feasibility interval for the transactional event handlers of P-FRP
Journal of Computer and System Sciences
A survey on reactive programming
ACM Computing Surveys (CSUR)
Monadic functional reactive programming
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Towards optimal priority assignments for the transactional event handlers of P-FRP
Proceedings of the 2013 Research in Adaptive and Convergent Systems
Hi-index | 0.00 |
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.