Towards OpenVL: Improving Real-Time Performance of Computer Vision Applications

Meeting constraints for real-time performance is a main issue for computer vision, especially for embedded computer vision systems. This chapter presents our progress on our open vision library (OpenVL), a novel software architecture to address efficiency through facilitating hardware acceleration, reusability, and scalability for computer vision systems. A logical image understanding pipeline is introduced to allow parallel processing. We also discuss progress on our middleware—vision library utility toolkit (VLUT)—that enables applications to operate transparently over a heterogeneous collection of hardware implementations. OpenVL works as a state machine,with an event-driven mechanismto provide users with application-level interaction. Various explicit or implicit synchronization and communication methods are supported among distributed processes in the logical pipelines. The intent of OpenVL is to allow users to quickly and easily recover useful information from multiple scenes, in a cross-platform, cross-language manner across various software environments and hardware platforms. To validate the critical underlying concepts of OpenVL, a human tracking system and a local positioning system are implemented and described. The novel architecture separates the specification of algorithmic details from the underlying implementation, allowing for different components to be implemented on an embedded system without recompiling code.

[1]  Konstantinos Konstantinides,et al.  The Khoros software development environment for image and signal processing , 1994, IEEE Trans. Image Process..

[2]  Sidney S. Fels,et al.  A Multi-Camera Surveillance System that Estimates Quality-of-View Measurement , 2007, 2007 IEEE International Conference on Image Processing.

[3]  Robert C. Bolles,et al.  Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography , 1981, CACM.

[4]  Charles C. Weems Architectural requirements of image understanding with respect to parallel processing , 1991 .

[5]  Jean Ponce,et al.  Computer Vision: A Modern Approach , 2002 .

[6]  Tomás Svoboda,et al.  A Convenient Multicamera Self-Calibration for Virtual Environments , 2005, Presence: Teleoperators & Virtual Environments.

[7]  James J. Little,et al.  Algorithmic Techniques for Computer Vision on a Fine-Grained Parallel Machine , 1989, IEEE Trans. Pattern Anal. Mach. Intell..

[8]  Azriel Rosenfeld,et al.  A Pyramid Framework for Early Vision , 1994 .

[9]  Jake K. Aggarwal,et al.  Human Motion Analysis: A Review , 1999, Comput. Vis. Image Underst..

[10]  Jake K. Aggarwal,et al.  Human motion analysis: a review , 1997, Proceedings IEEE Nonrigid and Articulated Motion Workshop.

[11]  Josef Kittler,et al.  Image processing system architectures , 1985 .

[12]  Ruigang Yang,et al.  Multi-resolution real-time stereo on commodity graphics hardware , 2003, 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2003. Proceedings..

[13]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[14]  Michael J. Flynn,et al.  Very high-speed computing systems , 1966 .

[15]  Renate Kempf,et al.  OpenGL reference manual (2nd ed.): the official reference document to OpenGL, Version 1.1 , 1997 .

[16]  Thomas B. Moeslund,et al.  A Survey of Computer Vision-Based Human Motion Capture , 2001, Comput. Vis. Image Underst..