Embedded, Parallel Computer-Vision With a Functional DSL

Date Added: Sep 2009
Format: PDF

This paper presents the authors' experience using a domain-specific functional language, WaveScript, to build embedded sensing applications used in scientific research. They focus on a recent computer-vision application for detecting birds in their natural environment. The application was ported from a prototype in C++. In reimplementing the application, they gained a much cleaner factoring of its functionality (through higher-order functions and better interfaces to libraries) and a near-linear parallel speed-up with no additional effort. These benefits are offset by one substantial downside: the lack of familiarity with the language of the original vision researchers, who understandably tried to use the language in the familiar way they use C++ and thus ran into various problems.